Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 110 Some notes on inheritance, review

Similar presentations


Presentation on theme: "COMP 110 Some notes on inheritance, review"— Presentation transcript:

1 COMP 110 Some notes on inheritance, review
Michele Weigle - COMP 14 - Spr 04 COMP 110 Some notes on inheritance, review Catie Welsh April 25, 2011

2 Michele Weigle - COMP 14 - Spr 04
Announcements Program 4 due Wed, April 27th by 11:59pm Final exam, comprehensive Friday, May 6th, 12pm Review on Wednesday

3 Michele Weigle - COMP 14 - Spr 04
Questions? Any other questions?

4 Final exam Final exam will cover everything we have covered Lectures
Readings from textbook Labs Programs In-class exercises/worksheets Midterm

5 Final exam review on Wednesday
No formal review Look over previous assignments, lectures, midterm, etc. Come prepared with questions

6 Michele Weigle - COMP 14 - Spr 04
Today in COMP 110 Revisiting the equals method Array and inheritance review

7 The instanceof operator
We 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

8 The equals method Third 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

9 The equals method Implements an equivalence relation: It is reflexive
For any non-null reference value x, x.equals(x) should return true

10 The equals 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

11 The equals 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

12 The equals 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

13 The equals method For any non-null reference value x, x.equals(null) should return false

14 The equals method This 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;

15 The equals method Why? 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;

16 The equals 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

17 Array and Inheritance review worksheet
Turn in for participation points for the day Will be returned to you on Wednesday

18 Wednesday Final exam review Come prepared with questions!


Download ppt "COMP 110 Some notes on inheritance, review"

Similar presentations


Ads by Google