Details of this Paper

Computer science

Description

solution


Question

CSC139 Chapter 10 Lab Assignment (2);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;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

 

Paper#63812 | Written in 18-Jul-2015

Price : $22
SiteLock