extends und super vs new object

nit19969

Mitglied
Hallo,

Durch das Distance learning hänge ich in manchen modulen hinterher und tu mich auch bisschen schwerer.
Ich habe das noch nicht richtig verstaden. was kann ich mit extends machen, was ich mit einem neuen objekt nicht machen kann?
Mit extends kann ich mit super alle construktoren und methoden aufrufen, das kann ich aber mit einem neuen Objekt auch oder nicht.

Gibt es auch einen Thread zu Graphentheorie?
 
Kurz: mit extends werden Subtypen erstellt, z. B. Klassen abgeleitet. Damit wird eine is-a-Beziehung kodiert, so dass Objekte der Subtypen überall dort eingesetzt werden können, wo der Supertyp erwartet wird (Polymorphie, s. dazu auch das Liskov'sche Substitutionsprinzip). Mit super kann auf Konstruktoren, Methoden und Variablen des unmittelbaren Supertyps zugegriffen werden.
 
du hast die klasse Wagen die hat das attribut reifen anzahl und einen motor namen

jetzt machst du 2 Klassen zusätzlich einmal motorrad und einmal Autos
beide brauchen alles was in der Wagen Klasse drin ist und es wäre nicht toll wenn du jetzt bei auto und motorrad nochmal die gleichen Attribute einbaust
also machst du Auto extends Wagen zu deutsch mehr oder weniger "enthält Wagen" also das auto enthält alles was die Wagen klasse kann das gleiche machst du bei Motorrad

damit hast du die Klassen um funktionen erweitert was dir eine Art baum struktur der Klassen dann erzeugt hier wäre Wagen der "Chef" der gibt schon mal die basics vor die alle unterklassen haben MÜSSEN und die Erweiterungen geben vor was so spezielle attribute sein können

mit new Object hättest du immer das gleiche Objekt und kannst es "nicht neu erweitern"(geht schon aber ist nicht so wichtig im kontext) dh du hättest dann 10 Wagen obwohl du 5 autos und 5 motorräder haben möchtest die komplett unterschiedlich von einander sind
 

Zurück
Oben