Presentation is loading. Please wait.

Presentation is loading. Please wait.

Thanks, Andrew. Reminders: –wear the wireless mike –combination is 1-31 –speak slowly, pause for questions –I’d rather you get through less material than.

Similar presentations


Presentation on theme: "Thanks, Andrew. Reminders: –wear the wireless mike –combination is 1-31 –speak slowly, pause for questions –I’d rather you get through less material than."— Presentation transcript:

1 Thanks, Andrew. Reminders: –wear the wireless mike –combination is 1-31 –speak slowly, pause for questions –I’d rather you get through less material than try to rush through the slides –bring whiteboard markers/eraser –make sure writing is LARGE ENOUGH to be seen in back of room –use BOLD colors

2 CSE115: Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall 645-4739 alphonce@buffalo.edu 2

3 Agenda Announcements – Cell phones / laptops off & away / Name signs out Last time –Our second relationship: Association –Methods with parameters Today –null –this (revisited) –interfaces (if time permits)

4 Announcements Exam 2 – three weeks away (Wednesday after spring break) –covers material from exam 1 up to & including 3/9 –review on Monday 3/19 –exam on Wednesday 3/21 No recitations in exam week: 3/19 – 3/23

5 ‘null’ ‘null’ denotes the null reference, a reference which does not refer to any object. We can use ‘null’ to solve the two dogs, one collar problem (see code on next slide):

6 removeCollar rather than getCollar public class Dog { private Collar _collar; public Dog(Collar collar) { this._collar = collar; } public void setCollar(Collar collar) { this._collar = collar; } public Collar removeCollar() { Collar temp = this._collar; this._collar = null; return temp; }

7 Can also use in constructor public class Dog { private Collar _collar; public Dog() { _collar = null; }. } Now a Dog can be created without a Collar

8 4925 4850 Consider this code (assume association via constructor) Dog fido = new Dog(new Collar()); Dog rover = new Dog(new Collar()); fido – 3500 rover – 4000 fido’s _collar – 3600 rover’s _collar – 4100 two collars are at 4850 and 4925 3500 4000 fido rover 3500 3600 4000 4100 _collar 4850 4925

9 Dog fido = new Dog(new Collar()); Dog rover = new Dog(new Collar()); fido.setCollar(rover.removeCollar()); public Collar removeCollar() { Collar temp = _collar; _collar = null; return temp; } Consider this code (assume association via constructor) temp 4925 4850 3500 4000 fido rover 3500 3600 4000 4100 _collar 4850 4925

10 Dog fido = new Dog(new Collar()); Dog rover = new Dog(new Collar()); fido.setCollar(rover.removeCollar()); public Collar removeCollar() { Collar temp = _collar; _collar = null; return temp; } Consider this code (assume association via constructor) What happens here? Which _collar are we referring to here? temp 4925 4850 3500 4000 fido rover 3500 3600 4000 4100 _collar 4850 4925

11 fido.setCollar(rover.removeCollar()); public Collar removeCollar() { Collar temp = _collar; _collar = null; return temp; } this the object on which a method is invoked this 4000 4925 temp 4925 4850 3500 4000 fido rover 3500 3600 4000 4100 _collar 4850 4925 What happens here? Which _collar are we referring to here?

12 fido.setCollar(rover.removeCollar()); public Collar removeCollar() { Collar temp = this._collar; this._collar = null; return temp; } this implicitly in code this 4000 4925 temp 4925 4850 3500 4000 fido rover 3500 3600 4000 4100 _collar 4850 4925 What happens here? Which _collar are we referring to here?

13 rover.setCollar(fido.removeCollar()); public Collar removeCollar() { Collar temp = this._collar; this._collar = null; return temp; } this 3500 4850 temp 4925 4850 3500 4000 fido rover 3500 3600 4000 4100 _collar 4850 4925 What happens here? Which _collar are we referring to here?


Download ppt "Thanks, Andrew. Reminders: –wear the wireless mike –combination is 1-31 –speak slowly, pause for questions –I’d rather you get through less material than."

Similar presentations


Ads by Google