Problem:
Create a base class called Vehicle that has the manufacturer’s name (type
String), number of cylinders in the engine (type int), and the owner (type Person). Use the
Person class developed this semester. Create a class automobile that is derived from
Vehicle and has additional properties: number of passengers (type int) and weight in tons
(type double). Create a class Truck which is derived from Vehicle and has additional
properties: the load capacity in tons (type double, since it may contain a fractional part)
and towing capacity in tons (type double). The classes should have:
- Two constructors, a default and an overloaded constructor
- All appropriate accessor and mutator methods (getters and setters).
- An ‘equals’ method (must conform to the Person example and the Object class ).
- A ‘toString’ method
- A ‘copy’ constructor
- A ‘clone’ method
- A ‘finalize’ method
Write a driver (client/test) class that tests
ALL
the methods. Be sure to invoke each of the
constructors, and
ALL
methods. Demonstrate polymorphism by creating an array of
various types of vehicles with varying property values.