Verletzung der Regel Komposition der Vererbung vorziehen
fresserettich 23.11.2005 - 21:05 2794 13
fresserettich
Here to stay
|
"Verletzung der Regel Komposition der Vererbung vorziehen" wer kann mir diesen Satz erklären? habs beim stöbern gefunden und werde nicht ganz schlau drauß
|
watchout
Legendundead
|
Ist zum glück überhaupt nicht aus dem Zusammenhang gerissen... Könnte auch aus einem Vortrag eines Gentechnikers stammen.
|
ica
hmm
|
nur der satz sagt nicht gerade viel, kann nur vermutungen anstellen. vererbungen solltest sowieso wenn möglich vermeiden, und in diesem speziellen fall sollst du es eben über kompositionen lösen...was jetzt mit "verletzung der regel" gemeint ist weiss ich auch nicht ganz. evtl. das du die komposition etwas abschwächst in richtung aggregation?
|
watchout
Legendundead
|
In welchem Zusammenhang soll man Vererbungen vermeiden? Vom OOP-Standpunkt ists sogar [w|r]ichtig Vererbungen zu haben (richtige) und diese mit Untertypenbeziehungen auszunutzen.
UML-Mässig muss ich jetzt noch mal überlegen wo das zutrifft...
|
fresserettich
Here to stay
|
|
Frys_Assassin
information keeper
|
Ich interpretier es so dass es wichtiger is die Eigenschaften des abstrakten Produkts zu vererben als eine Teil-Ganzes Hierarchie zu behalten. Diese Beziehung geht dadurch verloren dass eine Fabrik alle erzeugbaren Produkte kennen muss und es keine Übergruppen gibt (Da alle Produkte vom gleichen AbstraktenProdukt abgeleitet sind). Is zwar sehr wischiwaschi, aber die Folien sind auch nicht wirklich sehr gut.
|
gerhardtt
Big d00d
|
also der satz steht als leitmotiv in "design patterns" von gamma etc...
les das buch wennstas wirklich verstehen willst: (kurzfassung: bei einer ziemlich gleichwertigen entscheidung zwischen komposition und vererbung, komposition vorziehen)
|
fresserettich
Here to stay
|
mir ist eigentlich schon der begriff komposition fremd wenn mir wer das mal erklären könnte würde es mir schon weiterhelfen
|
daisho
VereinsmitgliedSHODAN
|
Also für mich bedeutet der Satz einfach:
Wenn Komposition und Vererbung ziemlich gleichwertig sind, dann sollte man Komposition eher in Erwägung ziehen.
Habe aber keine Ahnung was mit Komposition gemeint ist.
|
madp
Big d00d
|
Komposition ist wennst ein Flugzeug zusammensetzt aus Triebwerk, Flügel, Cockpit, etc... Vererbung ist wennst es ableitest von einem Vogel
|
mat
AdministratorLegends never die
|
also der satz steht als leitmotiv in "design patterns" von gamma etc...
les das buch wennstas wirklich verstehen willst: (kurzfassung: bei einer ziemlich gleichwertigen entscheidung zwischen komposition und vererbung, komposition vorziehen) ack, das buch sollte man lesen! leider ist die entscheidung nicht so einfach, wie deine kurzfassung es vorgibt. hier geht es um: - intuitives design (objekte lassen sich natürlichen gegebenheiten nachempfinden.. siehe flugzeugbeispiel oben) - wartbarkeit und erweiterbarkeit - granularität ("d0n't go cr4zy with classes!") - darüberliegende patterns (viele kann man verbinden, manche nur mit abwandlungen) - API, framework, library und deren funktionstransparenz usw. im großen und ganzen muss man sich sowieso nur als programmierer damit abfinden  ich bin meist anfangs mit meinen eigenen entscheidungen unglücklich und find sie schlussendlich in der praxis eigentlich ganz gut  btw: der satz kommt mir spanisch vor.. fehlen da vl satzzeichen?
|
fresserettich
Here to stay
|
ich mach ja auch ein referat für programmierer also ist es für mich wichtig  den satz hab ich aus der präsentation die ich oben schon gepostet habe so richtig auskennen tu ich mich jetzt noch immer nicht ich schreib jetzt mal wie ich es interpretiert hätte: also ich sollte eher was vererben als was neues schreiben ich kann nur mit dem begriff komposition nichts anfangen am ehesten kann ich mir das so vorstllen: wenn man es von der musik her nimmt dann ist damit erzeugen gemeint?! richtig so? werde morgen noch ein beispiel posten vielleicht kommen wir dann auf einen gemeinsamen nenner
|
that
Hoffnungsloser Optimist
|
in Java:
Komposition:
class A {...} class B {private A a; ...}
Vererbung:
class A {...} class B extends A {...}
|
ica
hmm
|
In welchem Zusammenhang soll man Vererbungen vermeiden? Vom OOP-Standpunkt ists sogar [w|r]ichtig Vererbungen zu haben (richtige) und diese mit Untertypenbeziehungen auszunutzen. war so gemeint, dass du eine komposition oder aggregation vorziehen solltest. natürlich kommst nicht ohne aus
|