BCS 345 Lab 9 CRN 21177, XXXXXXXXXXJLi Spring 2020 ------------------------------------------------------------------------------------------------------------------------ Objectives: Get hands-on...

1 answer below »
See the attachment.



BCS 345 Lab 9 CRN 21177, 25160 JLi Spring 2020 ------------------------------------------------------------------------------------------------------------------------ Objectives: Get hands-on experience on Java abstract classes and interfaces. Understand polymorphism and dynamic binding. Tasks: In this lab, we will use the Rectangle class in Lab 8 and make a new class Circle, an abstract class Shape, and an interface Drawable. The Shape class is the superclass of Rectangle and Circle. Both Rectangle and Circle classes implement the Drawable interface. Create a new project with the main class called BCS345Lab9. Copy Rectangle.java from Lab 8 and place them in the src directory of the new project. 1. Create a new class called Circle that has the following private field and public methods: private double radius; 1) setRadius method to set the radius according to the parameter. The valid value for the radius is non-negative, otherwise use 0. 2) getRadius method to return the value of radius. 3) A default constructor to create a Circle object and initialize the radius to 0. 4) An overloaded constructor to create a Circle object and initialize radius according to the parameter. The valid value must be non-negative. If a value is negative, use 0 instead. 5) A copy constructor to create a Circle object and instantiate it with an existing Circle object. 6) Override the toString method to output the radius of a Circle object. 7) equals method to check if two Circle objects have the same radius value. Return true if they do; otherwise, return false. 2. Create an abstract class called Shape which includes an abstract method getArea which returns a floating-point value. Let class Rectangle and Circle extend the abstract class Shape. 3. Define the getArea method in the Circle class. (The Rectangle class has a getArea method already.) 4. Update the toString method in the Rectangle and Circle class so that the area is also displayed. 5. Define an interface Drawable which includes an abstract void method draw. Let class Rectangle and Circle implement the interface Drawable. 6. Define the draw method in the Rectangle class to display a message “Draw a rectangle”. 7. Define the draw method in the Circle class to display a message “Draw a circle”. 8. In the client program BCS345Lab9.java, create an array of Shape of size 4 and instantiate it with the following objects: A Rectangle object with length 10 and width 20, A Rectangle object with length 3 and width -5 (to test data validation), A Circle object with radius -1. A Circle object with radius 3.3. Use a loop to call the toString method to display the contents of the above objects. Explain the output. 9. Declare an array of Drawable of size 4 and instantiate it with the same values as in 8. Use a loop to call the draw method with each object. Explain the output.
Answered Same DayApr 14, 2021BCS345

Answer To: BCS 345 Lab 9 CRN 21177, XXXXXXXXXXJLi Spring 2020...

Valupadasu answered on Apr 15 2021
146 Votes
Java Lab9/.idea/codeStyles/codeStyleConfig.xml




Java Lab9/.idea/description.html
Simple Java application that includes a class with main() method
Java Lab9/.idea/encodings.xml




Java Lab9/.idea/misc.xml










Java Lab9/.idea/modules.xml






Java Lab9/.idea/project-template.xml

IJ_BASE_PACKAGE
Java Lab9/.idea/workspace.xml




































































1586842596425


1586842596425

































Java Lab9/Java Lab9.iml









Java Lab9/out/production/Java Lab9/BCS345Lab9.class
public synchronized class BCS345Lab9 {
public void BCS345Lab9();
public static void main(String[]);
}
Java Lab9/out/production/Java Lab9/Circle.class
public synchronized class Circle extends Shape {
private double radius;
void Circle();
void Circle(double);
void Circle(Circle);
public double getRadius();
public void setRadius(double);
public String toString();
public boolean equals(Circle);
public double getArea();
public void draw(char);
}
Java Lab9/out/production/Java Lab9/Drawable.class
public abstract interface Drawable {
public abstract void draw(char);
}
Java Lab9/out/production/Java Lab9/Rectangle.class
public synchronized class Rectangle extends Shape {
public...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here