Java Tutorial 51 – Polymorphie

YouTube Preview Image

Thanks! Share it with your friends!

Close

Quellcode: http://www.brotcrunsher.de/index.php?topic=48.0 Danke an songdestinator.

Comments

Nico Fe says:

polygamie!!!!!!!!!!!!!!!!!!!!!!

Brotcrunsher says:

@Addi2817 Nicht ganz. Man speichert die Subklasse lediglich im gleichen
Datentyp wie die Superklasse.

Brotcrunsher says:

Genau, das sind die Speicheradressen. MfG

MALMAL MAL says:

kann ich auch eine mehrfach vererbte unterklasse , z.B von lebewesen – hund
und von hund – hundeartig oder so und hundeartig dann in das Lebewesen
Array…geht das auch?

Brotcrunsher says:

Du meinst, dass der Vererbungsbaum so aussieht: Object – lebewesen – hund –
hundeartig und man “hundeartig” in “lebewesen” packt? Ja das würde gehen.
Kleine Zusatzinfo: In ein “Objectarray” kannst du sogar alles packen,
selbst zahlen. Das ist aber kein guter Programmierstil, daher rate ich
davon ab 😉 MfG

Adrian says:

@Brotcrunsher Ok, und ist Polymorphie immer sinvoller zu machen (oder
nutzen ? :D), oder giebt es da irgendwelche Regeln zu?

S4ftL4den says:

Kann man nur die direkte Subklasse in einem array der Superklasse Speichern
oder kann auch auch ein Objekt nehmen, daß mehrere Stufen weiter unten ist?
Beispielsweise ein auto in einem fortbewegungsmittel array speichern wenn
auto aus fahrzeug erbt und fahrzeug aus fortbewegungsmittel.

RepeercLP says:

Und so wurden die Menschen und Hunde erschaffen.

Adrian says:

Kann man sagen, man speichert Objekte der Subklasse in der Superklasse??
Wenn ja dann hab ichs verstanden 😀

Brotcrunsher says:

@Addi2817 Immer Sinnvoll: nein. Häufig Sinnvoll: Ja! Regeln bzw.
Konventionen gibt es weitgehend keine. Man sollte es halt für sein Programm
passend schreiben. Man könnte auch alles in ein Object Array Speichern, das
wäre dann aber eben zu krass verallgemeinert. MfG

Daniel Prell says:

vielleicht kannst du mir weiterhelfen, ich hab alles halbwegs so
hinbekommen wie dus gemacht hast – hab mir dan mit einer foreach den array
ausgeben lassen und das hier bekommen: welches lebewesen soll erschaffen
werden? mensch/hund hund hund mensch mensch mensch
supertesting.Hund@173a10f supertesting.Hund@530daa
supertesting.mensch@a62fc3 supertesting.mensch@89ae9e
supertesting.mensch@1270b73 sind das die speicherads? meine foreach for
(lebewesen a : leb){ System.out.println(a); } merci

Comments are disabled for this post.