Friday, 26 November 2010

Chapter 8 questions

1
Open the project dome-v1. It contains the classes exactly as they were discussed in the text.
Create some CD objects and some video objects.
Create a database object.
Enter the CDs and videos into the database, and then list the database contents.

 Done. The method lists the objects. 
2
Try the following.
Create a CD object.
Enter it into the database.
List the database.
You see that the CD has no associated comment.
Add a comment to the CD object on the object bench (the one you entered into the database).
When you now list the database again, will the CD listed there have a comment attached?
Try it. Explain the behavior you observe.

 The comments are attached. To print all the new information we have to use the new list() method. 
3
Draw an inheritance hierarchy for the people in your place of study.
Person
-Student (ES, MS, HS)
- Staff (Teacher, Other)
 
4
Open the project dome-v2. This project contains a version of the DoME application rewritten to use inheritance, as described in the text.
*Note that the class diagram displays the inheritance relationship.
Open the source code of the Video class and remove the "extends Item" phrase. Close the editor.
What changes do you observe in the class diagram?
Add the "extends Item" phrase again.

 Done the relationship of the subclass is not shown but when we add it, it goes back to normal.
5
Create a CD object.
Call some of its methods.
Can you call the inherited methods(for examplesetComment())?
What do you observe about the inherited methods?

 We can call the Item() methods as if they inherited from the CD class. 
6
Set a breakpoint in the first line of the CDclass's constructor.
Then create a CD object. When the debugger window pops up, use Step Into to step through the code.
Observe the instance fields and their initialization.
Describe your observations.

 A constructor is just like a method.It can be made to change the field of the CD, but it works like nay other method.
7
Open the dome-v2 project.
Add a class for video games to the project.
Create some video game objects and test that all the methods work as expected.

Done.
8
Order these items into an inheritance hierarchy: apple, ice cream, bread, fruit, food-item, cereal, orange, dessert, chocolate mousse, baguette.
Food item
-Dessert (ice cream, chocolate)
- fruit (apple, orange, cereal)
- bread (baguette)
9
In what inheritance relationship might a touch pad and a mouse be?
 Mouse and touch pad are sublclasses of input device.Also subclass of Cursormover. 
10

Each sqaure is a rectangle but not every rectangle is a square. Like wise, not all objects inherit the same qualities or methods from the subclass. 
11
Assume we have four classes: Person, Student, Teacher & PhDStudent. Teacher and Student are both subclasses of Person. PhDStudent is a subclass of Student.
Which of the following assignments are legal and why?
Person p1 = new Student();
Person p2 = new PhDStudent();
PhDStudent phd1 = new Student();
Teacher t1 = new Person();
Student s1 = new PhDStudent();
s1 = p1;
s1 = p2;
p1 = s1;
t1 = s1;
s1= phd1;
phd1 = s1;
Person p1 = new Student() because a student is a person.
Person p2 = new PhDStudent(); because a phDStudent is a person.
Student s1 = new PhDStudent();
because a PhDStudent is a Student.
p1 = s1 because student is a person.
s1 = phd1 because a PhD student s a student.
12
Test your answers to the previous question by creating the classes mentioned in that exercise, and trying it out in BlueJ.
 Done. Got it all right.
13
What has to change in the Database class when another item subclass (for example classVideoGame) is added?
Why?

Yes, but we have to extend the VideoGame class.
14
Use the documentation of the standard class libraries to find out about the inheritance hierarchy of the collection classes. Draw a diagram showing the hierarchy.

Something to do with interferences. I am not sure. Will ask. 
15
Go back to the lab-classess project from chapter 1. Add instructors to the project. Use inheritance to avoid code duplication between students and instructors.
 Done. 
16
Draw an inheritance hierarchy representing parts of a computer system (processor, memory, disk drive, CD drive, printer, scanner, keyboard, mouse, etc.)
Computer Device
-Input (mouse, keyboard/touchpad, microphone)
- Output (monitor, printer, speakers)
- Internal (memory, processor)
17
Look at the code below. You have four classes (O,X,T and M) and a variable of each of these.
O o;
X x;
T t;
M m;
The following assignments are all legal.
m = t;
m = x;
o = t;
The following assignments are all illegal.
o = m;
o = x;
x = o;
What can you say about the relationships of these classes?
1)      T is subclass of M.
2)      X is subclass of M.
3)      T is subclass of O.
4)      NA
5)    NA
6)      NA
7)      NA


18
Draw an inheritance hierarchy of AbstractListand all its (direct and indirect) subclasses, as they are defined in the Java standard library.

No comments:

Post a Comment