Java Reference
In-Depth Information
PITFALL: The Terms
Subclass
and
Superclass
Many programmers and authors use the term subclass for a derived class and use
superclass for its base class (or any of its ancestor classes). This is logical. For example,
the collection of all hourly employees in the world is a subclass of all employees.
Similarly, the collection of all objects of type HourlyEmployee is a subcollection
of the collection of all objects of the class Employee . As you add more instance
variables and methods, you restrict the number of objects that can satisfy the class
definition. Despite this logic, people often reverse the terms subclass and superclass .
Remember that these terms refer to the collections of objects of the derived class and
the base class and not to the number of instance variables or methods. A derived class
is a subclass (not a superclass ) of its base class. Another way to remember which is a
superclass is to recall that the super constructor invocation is an invocation of the
base class and so the base class is the superclass .
subclass and
superclass
Self-Test Exercises
5. Is the following program legal? The relevant classes are defi ned in Displays 7.2 ,
7.3 , and 7.5 .
public class EmployeeDemo
{
public static void main(String[] args)
{
HourlyEmployee joe =
new HourlyEmployee("Joe Young",
new Date("February", 1, 2004), 10.50, 40);
SalariedEmployee boss =
new SalariedEmployee("Mr. Big Shot",
new Date("January", 1, 1999), 100000);
printName(joe);
printName(boss);
}
public void printName(Employee object)
{
System.out.println(object.getName());
}
}
6. Give a defi nition for a class TitledEmployee that is a derived class of the base
class SalariedEmployee given in Display 7.5 . The class TitledEmployee has
one additional instance variable of type String called title . It also has two
additional methods: getTitle , which takes no arguments and returns a String ,
and setTitle , which is a void method that takes one argument of type String .
It also overrides (redefi nes) the method defi nition for getName , so that the string
returned includes the title as well as the name of the employee.
 
 
Search WWH ::




Custom Search