comp 110 some notes on inheritance, review luv kohli december 1, 2008 mwf 2-2:50 pm sitterson 014
DESCRIPTION
Questions? 3TRANSCRIPT
COMP 110COMP 110Some notes on inheritance, reviewSome notes on inheritance, review
Luv KohliDecember 1, 2008
MWF 2-2:50 pmSitterson 014
AnnouncementsAnnouncementsFinal exam, comprehensive◦Saturday, December 6, 4pm
2
Questions?Questions?
3
Final examFinal examFinal exam will cover everything we have
covered◦Lectures◦Readings from textbook◦Labs◦Programs◦ In-class exercises/worksheets◦Midterm
4
Final exam review on WednesdayFinal exam review on WednesdayNo formal reviewLook over previous assignments, lectures,
midterm, etc.Come prepared with questions
5
Today in COMP 110Today in COMP 110Revisiting the equals method
Array and inheritance review
6
The The instanceofinstanceof operator operatorWe can test whether an object is of a
certain class type:
if (obj instanceof Student){ System.out.println("obj is an instance of the class
Student");}
Syntax:object instanceof Class_Name
Use this operator in the equals method
7
The The equalsequals method methodThird try
public boolean equals(Object obj){ if ((obj != null) && (obj instanceof Student)) { Student otherStudent = (Student) obj; return (this.id == otherStudent.id); } return false;}
Reminder: null is a special constant that can be assigned to a variable of a class type – means that the variable does not refer to anything right now
8
The The equalsequals method method Implements an equivalence relation:
It is reflexive◦ For any non-null reference value x, x.equals(x) should return
true
9
The The equalsequals method method It is symmetric
◦ For any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true
10
The The equalsequals method method It is transitive
◦ For any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true
11
The The equalsequals method method It is consistent
◦ For any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified
12
The The equalsequals method methodFor any non-null reference value x, x.equals(null) should
return false
13
The The equalsequals method methodThis implementation is not symmetric
public boolean equals(Object obj){ if ((obj != null) && (obj instanceof Student))
{ Student otherStudent = (Student) obj; return (this.id == otherStudent.id); } return false;}
Demonstrate in jGRASP
14
The The equalsequals method methodWhy?◦ The instanceof operator will return true if obj is a subclass
of Student
public boolean equals(Object obj){ if ((obj != null) && (obj instanceof Student)) { Student otherStudent = (Student) obj; return (this.id == otherStudent.id); } return false;}
Demonstrate problem in jGRASP
15
The The equalsequals method method Fourth try
public boolean equals(Object obj){ if (this == obj) return true; if ((obj == null) || (obj.getClass() != this.getClass())) return false;
Student otherStudent = (Student) obj; return (this.id == otherStudent.id);}
The getClass method will return the runtime class of an object, so if obj is a subclass of Student (in this case), this method will return false
16
COMP110 Battle … of DoomCOMP110 Battle … of Doom
17
Lazy LennyWeapon/Special ability:
sleep
MagicalFlying amphibianWeapon/Special ability:
fly, make smoke, disappearVS
WINNER
COMP110 Battle … of DoomCOMP110 Battle … of Doom
18
SpringWeapon/Special ability:
allergies
MagicalFlying amphibianWeapon/Special ability:
fly, make smoke, disappearVS
WINNER
It’s tough to fly when you are suffering from
allergies!
COMP110 Battle … of DoomCOMP110 Battle … of Doom
19
SpringWeapon/Special ability:
allergies
StarburstManWeapon/Special ability:
http://seattlest.com/2008/09/23/local_man_assaulted_by_starburst_ca.php
VS
WINNER
Array and Inheritance review worksheetArray and Inheritance review worksheet
20
WednesdayWednesdayFinal exam review
Come prepared with questions!
21