TEST BANK
, A COMPREHENSIVE INTRODUCTION TO OBJECT
ORIENTED PROGRAMMING WITH JAVA 1ST
EDITION C THOMAS WU
Chapter 1 Solutions
1.1 Graphically represent a Vehicle class and three Vehicle objects named car1, car2,
and car3.
Vehicle
car1:Vehicle car2:Vehicle car3:Vehicle
1.2 Graphically represent a Person class with the following components:
• Instance variables name, age, and gender.
• Instance methods setName, getName, and getAge.
• Class method getAverageAge.
Person
setName()
name
getAge()
age age
getGender() gender
gender
getAverageAge()
average age
1.3 Design a CD class where a CD object represents a single music CD. What kinds
of information (artist, genre, total playing time, etc.) do you want to know about a
CD? Among the information in which you are interested, which are instance
variables? Are there any class variables or class constants?
State
Album Name instance variable
Artist instance variable
Genre instance variable
Total Playing Time instance variable
Maximum Playing Time class constant
TEST BANK
, Behaviors
getAlbumName(), setAlbumName() instance methods
getArtist(), setArtist() instance methods
getGenre(), setGenre() instance methods
getPlayingTime(), setPlayingTime() instance methods
getMaxPlayingTime() class method
Students may also include a list of songs on the CD and methods to access them.
A song itself would probably have its own class to represent it. However this
concept is more advanced than is necessary at this stage.
1.4 Suppose the Vehicle class in Exercise 1 is used in a program that keeps track of
vehicle registration for the Department of Motor Vehicles. What kinds of
instance variables would you define for such Vehicle objects? Can you think of
any useful class variables for the Vehicle class?
Instance variables
owner
licenseID
registrationNumber
make
model
color
value
Class variables
At this stage, the number of total vehicles could be thought to belong to
the class. Information relating to the length of a licenseID or
registrationNumber could be stored as class constants. Aside from these,
there are no obviously necessary traits for which all vehicles share the
same value or which the class may need to function.
1.5 Suppose the following formulas are used to compute the annual vehicle
registration fee for the vehicle registration program in Exercise 1.4:
• For cars, the annual fee is 2 percent of the value of the car.
• For trucks, the annual fee is 5 percent of the loading capacity (in
pounds) of the truck.
Define two new classes Car and Truck as subclasses of Vehicle.
Hint: Associate class and instance variables common to both Car and Truck to
Vehicle.
Vehicle Class
See Exercise 1.4
Car Class (subclass of Vehicle)
registrationRate class constant
TEST BANK
, Note: Value is already an instance variable in Vehicle since all vehicles
have some value.
Truck Class (subclass of Vehicle)
registrationRate class constant
loadingCapacity instance variable
1.6 Consider a student registration program used by the registrar’s office. The
program keeps track of students who are registered for a given semester. For each
student registered, the program maintains the student’s name, address, and phone
number; the number of classes in which the student is enrolled and the student’s
total credit hours. The program also keeps track of the total number of registered
students. Define instance and class variables of a Student class that is suitable for
this program.
Instance variables
name
address
phoneNumber
numClassesThisSemester
totalCreditHours
Class variables
numStudentsRegistered
1.7 Suppose the minimum and maximum number of courses for which a student can
register are different depending on whether the student is a graduate,
undergraduate, or work-study student. Redo Exercise 6 by defining classes for
different types of students. Relate the classes using inheritance.
Student
See Exercise 1.6
GraduateStudent (subclass of Student)
maximumHours class constant
minimumHours class constant
UndergraduateStudent (subclass of Student)
maximumHours class constant
minimumHours class constant
WorkStudyStudent (subclass of Student)
maximumHours class constant
minimumHours class constant
TEST BANK
, A COMPREHENSIVE INTRODUCTION TO OBJECT
ORIENTED PROGRAMMING WITH JAVA 1ST
EDITION C THOMAS WU
Chapter 1 Solutions
1.1 Graphically represent a Vehicle class and three Vehicle objects named car1, car2,
and car3.
Vehicle
car1:Vehicle car2:Vehicle car3:Vehicle
1.2 Graphically represent a Person class with the following components:
• Instance variables name, age, and gender.
• Instance methods setName, getName, and getAge.
• Class method getAverageAge.
Person
setName()
name
getAge()
age age
getGender() gender
gender
getAverageAge()
average age
1.3 Design a CD class where a CD object represents a single music CD. What kinds
of information (artist, genre, total playing time, etc.) do you want to know about a
CD? Among the information in which you are interested, which are instance
variables? Are there any class variables or class constants?
State
Album Name instance variable
Artist instance variable
Genre instance variable
Total Playing Time instance variable
Maximum Playing Time class constant
TEST BANK
, Behaviors
getAlbumName(), setAlbumName() instance methods
getArtist(), setArtist() instance methods
getGenre(), setGenre() instance methods
getPlayingTime(), setPlayingTime() instance methods
getMaxPlayingTime() class method
Students may also include a list of songs on the CD and methods to access them.
A song itself would probably have its own class to represent it. However this
concept is more advanced than is necessary at this stage.
1.4 Suppose the Vehicle class in Exercise 1 is used in a program that keeps track of
vehicle registration for the Department of Motor Vehicles. What kinds of
instance variables would you define for such Vehicle objects? Can you think of
any useful class variables for the Vehicle class?
Instance variables
owner
licenseID
registrationNumber
make
model
color
value
Class variables
At this stage, the number of total vehicles could be thought to belong to
the class. Information relating to the length of a licenseID or
registrationNumber could be stored as class constants. Aside from these,
there are no obviously necessary traits for which all vehicles share the
same value or which the class may need to function.
1.5 Suppose the following formulas are used to compute the annual vehicle
registration fee for the vehicle registration program in Exercise 1.4:
• For cars, the annual fee is 2 percent of the value of the car.
• For trucks, the annual fee is 5 percent of the loading capacity (in
pounds) of the truck.
Define two new classes Car and Truck as subclasses of Vehicle.
Hint: Associate class and instance variables common to both Car and Truck to
Vehicle.
Vehicle Class
See Exercise 1.4
Car Class (subclass of Vehicle)
registrationRate class constant
TEST BANK
, Note: Value is already an instance variable in Vehicle since all vehicles
have some value.
Truck Class (subclass of Vehicle)
registrationRate class constant
loadingCapacity instance variable
1.6 Consider a student registration program used by the registrar’s office. The
program keeps track of students who are registered for a given semester. For each
student registered, the program maintains the student’s name, address, and phone
number; the number of classes in which the student is enrolled and the student’s
total credit hours. The program also keeps track of the total number of registered
students. Define instance and class variables of a Student class that is suitable for
this program.
Instance variables
name
address
phoneNumber
numClassesThisSemester
totalCreditHours
Class variables
numStudentsRegistered
1.7 Suppose the minimum and maximum number of courses for which a student can
register are different depending on whether the student is a graduate,
undergraduate, or work-study student. Redo Exercise 6 by defining classes for
different types of students. Relate the classes using inheritance.
Student
See Exercise 1.6
GraduateStudent (subclass of Student)
maximumHours class constant
minimumHours class constant
UndergraduateStudent (subclass of Student)
maximumHours class constant
minimumHours class constant
WorkStudyStudent (subclass of Student)
maximumHours class constant
minimumHours class constant
TEST BANK