Geachte medetweakers,
volgende week heb ik een tentamen van een inleiding in Java programmeren, waarbij we het oa ook geleerd hebben wat typeconversie inhoudt. Daarvan kan je kort het volgende zeggen:
Dit gegeven, zou ik het volgende kunnen doen, waarna de variabele animal refereert naar dezelfde geheugenplek als de variabele daisy.
Heel leuk allemaal, maar... wat heb ik er aan???
Ik heb zojuist een variabele van de klasse Animal gemaakt die wijst naar een Cow. Als ik eigenschappen van die Cow wil gebruiken dan neem ik toch de variabele daisy?
Heeft iemand hier een heldere kijk op?
volgende week heb ik een tentamen van een inleiding in Java programmeren, waarbij we het oa ook geleerd hebben wat typeconversie inhoudt. Daarvan kan je kort het volgende zeggen:
- Je kunt niet zijdelings in de hiërarchie verplaatsen,
- Je kunt zonder problemen omhoog verplaatsen,
- Je kunt niet omlaag in de hiërarchie verplaatsen zonder dat je expliciet cast.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| class Animal { private int weight = 0; public void setWeight(int initWeight) { weight = initWeight; } public int getWeight() { return weight; } public String says() { return "An animal can't talk!"; } } class Cow extends Animal { public String says() { return "Moo"; } } class Pig extends Animal { public String says() { return "Grunt"; } } |
Dit gegeven, zou ik het volgende kunnen doen, waarna de variabele animal refereert naar dezelfde geheugenplek als de variabele daisy.
Java:
1
2
| Cow daisy = new Cow(); Animal animal = daisy; |
Heel leuk allemaal, maar... wat heb ik er aan???
Ik heb zojuist een variabele van de klasse Animal gemaakt die wijst naar een Cow. Als ik eigenschappen van die Cow wil gebruiken dan neem ik toch de variabele daisy?
Heeft iemand hier een heldere kijk op?