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

  Create a database whose tables are at least in 2nf,3nf

Create a database whose tables are at least in 3NF, showing the dependency diagram for each table.

  Design sequential circuit that continuously compute function

Design a sequential circuit that continuously computes the function 2X + Y where the variables X and Y are 2 three-bit unsigned integers each available on a serial interface. A special external data signal (DATA_READY) is asserted whenever each of..

  Explain difference between virtual circuit and packet switch

Explain the differences between virtual circuits and packet switching.

  Translate the first instruction into english

Suppose the memory cells at addresses 00 through 03 in the machine described in Appendix C contain the following bit patterns.

  Write a program to find the number of comparisons

Write a program to find the number of comparisons using the binary search and sequential search algorithms as follows:Suppose list is an array of 1000 elements.

  Explain why your technique is lossless and not lossy

Devise a way to compress the following list of last names using a lossless technique. Describe your method and show the compressed list. Explain why your technique is lossless and not lossy.

  Current design model of it

In the current design model of IT service provision at NSI, the service desk function is provided in-house by TAFE employees. Consider the option of outsourcing the service desk.

  Write a brief paragraph describing the application

Research an application of Monte Carlo (MC) Methods. Write a brief paragraph describing the application (what is the problem it addresses; why was Monte Carlo chosen as a solution; pros and cons of MC; etc.). (and you must properly cite your so..

  Use regression analysis definition

Problem 3.  For the following set of points, calculate the value of 'r' and infer how are the points correlated. Use regression analysis definition or 'r' using covariance (x, y), var(x) and var(y).

  Evaluate situation if you lack behind schedule on project

Evaluate a situation where you have fallen behind schedule on a project. How could more effective scheduling have allowed the project to stay on track?

  Develop leftmost and rightmost derivations

Develop leftmost and rightmost derivations respectively for the Identifier value S6T, using the following BNF syntax:

  Construct a simple xml schema

Construct a simple XML schema that describes a tutor. Include the tutor's last name, first name, phone, email address, and the certification date as child elements of the TUTOR element.

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