Description: Create a class named ComparableDog that extends Animal and implements Comparable interface. Implement the compareTo method to compare the Dogs on the basis of age. Write a test class to find the bigger age of two instances of ComparableDog Objects, and complement the ComparableDog class with the missing part. 1)      The test program, the ComparableDog class, and its super class Animal are given as follows.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter13: Overloading And Templates
Section: Chapter Questions
Problem 10PE
icon
Related questions
Question

Description:

Create a class named ComparableDog that extends Animal and implements Comparable interface.

Implement the compareTo method to compare the Dogs on the basis of age.

Write a test class to find the bigger age of two instances of ComparableDog Objects, and complement the ComparableDog class with the missing part.

1)      The test program, the ComparableDog class, and its super class Animal are given as follows.

 

  // Main method

  public static void main(String[] args) {

    // Create two comparable Dogs

    ComparableDog dog1 = new ComparableDog(3);

    ComparableDog dog2 = new ComparableDog(4);

    

    System.out.println("Dog1:" + dog1);

    System.out.println("Dog2:" + dog2);

      

       if(dog1.compareTo(dog2) == 1)

              System.out.println("Dog1 is older than Dog2");

       else if(dog1.compareTo(dog2) == -1)

              System.out.println("Dog1 is younger than Dog2");

       else

              System.out.println("Dog1 and Dog2 have the same age");   

  }

 

 

class ComparableDog extends Animal implements Comparable<ComparableDog> {  

 

 

 private int age; 

  public ComparableDog() {

  } 

  

  /* Print the Dog info */

  public void printDog() {

    System.out.println("The Dog is created " + getDateCreated() +

      " the age is " + age);

  } 

 

  

  public int getAge(){

      return age;

  }

 

public int compareTo(ComparableDog d)

  {

     

  }

 

 public String toString() {

    

  }

 

}

 

 

abstract class Animal {

  private String color = "white";

 

  private java.util.Date dateCreated;

 

 

  protected Animal() {

    dateCreated = new java.util.Date();

  }

 

  /** Construct an animal object with color value */

  protected Animal(String color, boolean filled) {

    dateCreated = new java.util.Date();

    this.color = color;

   

  }

 

  /** Return color */

  public String getColor() {

    return color;

  }

 

  /** Set a new color */

  public void setColor(String color) {

    this.color = color;

  }

 

 

 

  /** Get dateCreated */

  public java.util.Date getDateCreated() {

    return dateCreated;

  }

 

  /** Return a string representation of this object */

  public String toString() {

    return "created on " + dateCreated + "\ncolor: " + color;

  }

 

  public abstract int getAge(); 

}

 

Output:

 

Dog1: color: white, age: 3

Dog2: color: white, age: 4

Dog1 is younger than Dog2



 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Unreferenced Objects
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage