Beetje lastig uitleggen, hopelijk is het te begrijpen:
Ik vroeg mij af of het mogelijk is om een object te vervangen door een nieuw object van een ander (subklasse) type.
Ter illustratie, dit stukje code:
Nu weet ik dat wat hierboven staat niet het beoogde doel zal bereiken; aDog blijft ongewijzigd en dus "Max" heten.
Is er een manier om dit wél voor elkaar te krijgen binnen de foo method?
En als dat kan, dan nog een stapje verder: is het ook mogelijk om het object te vervangen door een subklasse van Dog?
Ik vroeg mij af of het mogelijk is om een object te vervangen door een nieuw object van een ander (subklasse) type.
Ter illustratie, dit stukje code:
code:
1
2
3
4
5
6
| public void foo(Dog d) {
d = new Dog("Fifi");
}
Dog aDog = new Dog("Max");
foo(aDog); |
Nu weet ik dat wat hierboven staat niet het beoogde doel zal bereiken; aDog blijft ongewijzigd en dus "Max" heten.
Is er een manier om dit wél voor elkaar te krijgen binnen de foo method?
En als dat kan, dan nog een stapje verder: is het ook mogelijk om het object te vervangen door een subklasse van Dog?