Date Assigned: Tuesday, March 15, 2005
Due Date: Thursday, March 17, 2005, before the beginning of your lecture section.
Goal: the goal of this assignment is to practice with inheritance and static variables.
Assignment:
1. Inheritance. Assume that all animals have an integer weight expressed in pounds, and that all animals make noise. The default noise will be assigned initially as “chirps”. An object-creating superclass Animal has the following definition:
public class Animal {
// Weight in pounds
private int weight;
// Constructor
public Animal (int inputWeight) {
weight = inputWeight;
}
// Accessor method for weight
public int getWeight ( ) {
return weight;
}
// Facilitator method to return sound animal makes
public String makesNoise ( ) {
return “chirps”;
}
// toString method
public String toString ( ) {
return (“The animal weighs : ” + weight + “ pounds and ” + makesNoise ( ) ) ;
}
}
On a separate sheet of paper, write the
code to define a class Dog, which
will be a derived class (subclass) of Animal. Within the application class, the line below
will be used to instantiate a new Dog
object (“
Dog doggy = new Dog ( “Killer”
, “
Hint: The Dog subclass constructor is passed 3 arguments; the Animal superclass requires only 1.
(over)
2. Static Variables. In the application class, we want to add a static variable numDogs, which will keep count of how many dog objects are created. It will be initialized to 0 when the application starts. Add a line of code to your Dog subclass to increment numDogs each time a new instance of Dog is created.