Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Help on program and an explanation would be much appreciated. Thanks. CSCI 1302

ID: 3759127 • Letter: H

Question

Help on program and an explanation would be much appreciated. Thanks. CSCI 1302 Principles of Programming II Chapter 4 Abstract Class and Interface Objective of the assignment The objective of the assignment is to develop your understanding of interface and abstract class in Java. Given the UML, perform the following tasks: 1. Define a class named Geometricobject. 2. Define class named ComparableGeometricobject that extends Geometricobject class and implements Comparable nterface. Implement the compareTo method to compare ComparableGeometricobject objects on the base of area. 3. Define a class named ComparableCircle that extends ComparableGeometricObject. 4. Write a tes class to find the larger of two instances of ComparableCircle object The UML diagram for the classes: Geometricobject color: String Geonetricobject ( Geometricobject (color:String getColo: String +setColor (coloz: String): vold tgethrea()z doubie > java.iang.ComparablecComparabi eGeometricobject> ComparableGeometricobject .CemparableGeometr 5 eObjeet ( ©olo-:String) +eempaseTa Ce : comparabl @Gease tri cGbjeet): nt compazeTo to: ConparableGeometrlcobjecth: Ent ComparableCircle -radis double Comparablecirele: double) *Comparableci rele double, getRadius(): double tsetRadíus

Explanation / Answer

ComparableCircle.java:

package chegg;

public class ComparableCircle extends ComparableGeometricObject {
   private double radius;

   public ComparableCircle(String color) {
       super(color);
   }

   public ComparableCircle(String color, double radius) {
       super(color);
       this.radius = radius;
   }

   public double getRadius() {
       return radius;
   }

   public void setRadius(double radius) {
       this.radius = radius;
   }

   public double getArea() {
       return getRadius() * getRadius();
   }

}

ComparableGeometricObject.java

package chegg;

public class ComparableGeometricObject extends GeometricObject implements Comparable<ComparableGeometricObject> {

   public ComparableGeometricObject(String color) {
       super(color);
   }

   @Override
   public int compareTo(ComparableGeometricObject obj) {
       if (!this.getColor().equals(obj.getColor()))
           return 1;
       return 0;
   }

}

GeometricObject.java

package chegg;

public class GeometricObject {
   private String color;

   public GeometricObject(String color) {
       this.color = color;
   }

   public String getColor() {
       return color;
   }

   public void setColor(String color) {
       this.color = color;
   }
}

TestProgram:

package chegg;

public class TestProgram {

   public static void main(String[] args) {
       ComparableCircle c1 = new ComparableCircle("red", 21);
       ComparableCircle c2 = new ComparableCircle("red", 20);

       System.out.println(c1.compareTo(c2));

       System.out.println(c1.getArea());
       System.out.println(c2.getArea());
   }

}