Assignment on polymorphism

Assignment Help Basic Computer Science
Reference no: EM13780024

Polymorphism

Objectives

In this lab assignment, students will learn:

- How to design and define interface

- How to implement methods declared in interface

- How to implement polymorphism

Goals

In this lab assignment, students will demonstrate the abilities to:

- Design and define interface

- Implement methods declared in interface

- Implement polymorphism

Grading

- Define interface (30 pts)
- Define base / derived classes (40 pts)
- Define tester program to implement polymorphism (30 pts)

In this lab you will create an interface inheritance hierarchy and perform polymorphism in a tester program. The following is the simplified UML for the hierarchy:

<<Interface>>

IShape
+ Function ToString() As String
+ Function CalculateArea(): Double
TwoDShape
- xValue: Integer
- yValue: Integer
+ Sub New(Integer, Integer)
+ Property X():Integer
+ Property Y():Integer
+ Function CalculateArea():Double
+ Function ToString():Strinbg

Square

- sideValue: Double
+ Sub New(Integer, Integer,Double)
+ Property Side():Double
+ Function CalculateArea():Double
+ Function ToString():Strinbg

Circle

- radiusValue: Double
+ Sub New(Integer, Integer,Double)
+ Property Radius():Double
+ Function CalculateArea():Double
+ Function ToString():Strinbg

1. Create a Console Application Project called "InterfaceApp".

2. Rename the "Module1.vb" as "IShapeTester.vb"

3. Add a class definition, modify it to an Interface named "IShape" which has two members:

a. Function ToString() : String

b. Function CalculateArea() :Double

4. Add a class definition named "TwoDShape", which is an abstract base class, the following members should be included:

a. xValue: Integer ---- instance variable

b. yValue: Integer ---- instance variable

c. Sub New(Integer, Integer) ---- constructor

d. Property X():Integer ---- get and set xValue

e. Property Y():Integer ---- get and set yValue

f. Function CalculateArea():Double ---- "MustOverride" function and implements IShape's CalculateArea() function

g. Function ToString() ---- Overrides ToString() function in Object and implements IShape's method, display x and y coordinate on the console window (use the following definition)

Public Overrides Function ToString() As String Implements IShape.ToString

Return ("X-coordinate: " & vbTab & xValue & vbCrLf & "Y-coordinate: " & vbTab & yValue)

End Function

5. Add a class definition named "Circle", which inherits from "TwoDShape" class and includes the following members:

a. radiusValue: Double --- instance variable, radius of a circle

b. Sub New(Integer, Integer, Double) --- constructor

c. Property Radius():Double --- get and set radiusValue

d. Function CalculateArea():Double ---- override and implement the abstract method in base class Shape, calculate area of a circle using:
radiusValue * radiusValue * 3.14

e. Function ToString() ----- use Convert.ToString(Me.GetType()) to display the type of shape, then display X and Y coordinates by calling base class's ToString() function, finally, display radius value on console window (use the following definition)

Public Overrides Function ToString() As String

Return (Convert.ToString(Me.GetType()) & vbCrLf & MyBase.ToString() & vbCrLf & "Radius: " & vbTab & String.Format("{0:N2}", radiusValue))

End Function

6. Add a class definition named "Square", which inherit from "TwoDShape" class and include the following members:

a. sideValue: Double --- instance variable, side of a square

b. Sub New(Integer, Integer, Double) --- constructor

c. Property Side():Double --- get and set sideValue

d. Function CalculateArea():Double ---- override and implement the abstract method in base class Shape, calculate area of a square using: sideValue * sideValue

e. Function ToString() ----- use Convert.ToString(Me.GetType()) to display the type of shape, then display X and Y coordinates by calling base class's ToString() function, finally, display side value on console window (use the following definition)

Public Overrides Function ToString() As String

Return (Convert.ToString(Me.GetType()) & vbCrLf & MyBase.ToString() & vbCrLf & "Side: " & vbTab & String.Format("{0:N2}", sideValue))

End Function

7. Perform polymorphism in the Module "IShapeTester.vb":

a. Declare 4 objects:

s1: a circle object ( center at (2, 4) and radius = 3.0)

s2: a square object (center at (1, 5) and side = 4.0)

s3: a circle object (center at(3, 6) and radius = 3.5)

s4: a square object (center at(6, 3) and side = 6.0)

b. Put these 4 objects into an IShape array

c. Use a "For" loop to traverse the array and let each object do the following:

i. Call ToString() and let it display shape type, x and y coordinates, radius or side value

ii. Call CalculateArea() and let it calculate area of a shape, display the area on console window.

8. Here is the sample output window, your program should be performed similarly like this:

Reference no: EM13780024

Questions Cloud

Responsibilities to foster an infants language development : Parents and Early Childhood Teachers have unique opportunities and responsibilities to foster an infants' and toddlers' language development.
Explain virtual patient encounters and e-visits : Virtual Patient Encounters and E-Visits, Utilizing the Electronic Health Record to Improve Patient Outcomes
Problem related to the article critique : Directions: Initially review the issues currently occurring in the hospitality industry, such as economic challenges, market competition, staffing needs, and the like. Then select an issue of your choice and find two articles pertaining to hospita..
How should the international monetary fund operate : How should the IMF (international monetary fund) operate? Why is the topic of interest to you in this course? How do you want to answer the question or issue you are pursuing?
Assignment on polymorphism : Assignment on Polymorphism, How to design and define interface, How to implement methods declared in interface
Theories of identity or freedom : Identify a film, book, television show, or other form of media/art that involves characters/narrators reflecting upon the nature of identity and the self. Cite the media using correct APA citation.
Brochure for a new employee working : Create a brochure for a new employee working at a suicide prevention hotline. The brochure must include the following:
Discuss the implications of this information for parents : Discuss the implications of this information for parents and teachers. Plan a specific learning activity to be implemented in a childcare or early learning setting which supports each of the three stages discussed.
Write a research paper about obesity in usa : Write a research paper about "Obesity in USA".

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Write a python function celcius fahrenheit

Write a python function celcius_fahrenheit wich takes temperature values from a list and changes them into fahrenheit values.

  Cyber security in business organizations

Determine the fundamental challenges that organizations face in general in regard to protecting organizational assets and information.

  How do we make jar files

How do we make Jar files? What is a Jar file? How do we control what is in them? How do we make a Jar file executable?

  Hexadeciaml numerals are integers written

Hexadeciaml numerals are integers written in base 16. The digits used are '0' through '9' plus 'a' for the "digit 10", 'b' for the "digit 11", 'c' for the "digit 12", 'd' for the "digit 13", 'e' for the "digit 14", and 'f' for the "digit 15". For exa..

  Write an essay on turing machine explain with examples

Write an essay on turing machine explain with examples

  Write a term paper on virtual team management

Write a term paper on Virtual Team Management & Success that covers all the sections covered in the class. It is highly encouraged to start working on your paper from week one. The paper should be at least 14 pages excluding cover page, abstra..

  Write the diffent entities or objects

Write the diffent entities or objects,logical processes,data flows, and dfata stores which are involoved. starting from time you submitted your time sheet.

  The numbers of three finalists to receive a pr

Write a program to randomly select the numbers of three finalists to receive a pr

  Draw a diagram showing the reference variables i and j

Draw a diagram showing the reference variables i and j

  Replaces the xxxxs in code below to complete the functions

Replaces the "XXXXs" in the code below to complete the two functions.

  Explain why this relation is not normalized

Assume that ProjectNumber determines ProjectName and explain why this relation is not normalized?

  Er diagram, normalization, relational structure only

The proprietors of BigM have approached you and asked if you could design a database to help them manage their business. The management has commissioned you (in your capacity as a Database Management System consultant) to analyse, design and devel..

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd