I
It'sNever2Late!
Gast
Referenztyp Referenzvariable = new Objekttyp();
abstract class Fahrzeug
class Auto extends Fahrzeug
class Moped extends Fahrzeug
Der Objekttyp kann nie Fahrzeug sein, sondern nur Auto/Moped, da Fahrzeug eine abstrakte Klasse ist
Der Referenztyp kann Fahrzeug/Auto/Moped sein.
Beide Beispiele sind korrekt, da die Objekttypen und Referenztypen gültig sind.
Also bei deinem Beispiel:
Es wird geprüft ob der Objekttyp(new Moped(); ) der Referenzvariable moped....AUSSETZER WTF
Auf was soll der Objekttyp zeigen? ...
abstract class Fahrzeug
class Auto extends Fahrzeug
class Moped extends Fahrzeug
Der Objekttyp kann nie Fahrzeug sein, sondern nur Auto/Moped, da Fahrzeug eine abstrakte Klasse ist
Der Referenztyp kann Fahrzeug/Auto/Moped sein.
PHP:
Fahrzeug moped = new Moped();
// und
Moped moped2 = new Moped();
Ist das so korrekt?Denn - wenn da steht moped(Referenzvariable) instanceof Moped(Objekttyp), dann wird nicht der Typ von moped selbst (der Referenzvariable) getestet, sondern der Typ der Instanz(Objekttyp), auf die moped(Referenzvariable) verweist.
Also bei deinem Beispiel:
PHP:
Fahrzeug moped = new Moped();
if (moped instanceof Moped)
((Moped) moped).staenderAusklappen();
Auf was soll der Objekttyp zeigen? ...