COMP 110 Some notes on inheritance, review Luv Kohli December 1, 2008 MWF 2-2:50 pm Sitterson 014.

Post on 19-Jan-2018

216 views 0 download

description

Questions? 3

transcript

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