Zusammensetzung und Aggregation
Klassen und Objekte können miteinander in Beziehung gesetzt werden. Vererbung beschreibt eine „IS A“-Beziehung. Ein Löwe ist ein Tier. Diese Beziehung lässt sich leicht durch Vererbung ausdrücken, wobei
Animalsich die übergeordnete Klasse und
Liondie untergeordnete Klasse befinden würden. Aber nicht jede Beziehung auf der Welt wird auf diese Weise richtig beschrieben. Beispielsweise hat eine Tastatur durchaus etwas mit einem Computer zu tun, aber
sie ist kein Computer . Hände haben eine gewisse Beziehung zu einer Person, aber sie sind keine Person. Diese Fälle stellen eine andere Art von Beziehung dar – nicht „IST A“, sondern „HAT A“. Hände sind keine Person, aber eine Person HAT Hände. Eine Tastatur ist kein Computer, aber ein Computer HAT EINE Tastatur. "HAT EIN"
. Der Unterschied zwischen diesen Konzepten liegt in der „Strenge“ der Beziehungen. Nehmen wir ein einfaches Beispiel: Wir haben eine
Car. Jedes Auto hat einen Motor. Darüber hinaus kann jedes Auto Passagiere befördern. Was ist der grundlegende Unterschied zwischen den Feldern
Engine engineund
Passenger[] passengers? Wenn ein Passagier
Ain einem Auto sitzt, bedeutet das nicht, dass Passagiere
Bnicht
Cauch im Auto sein können. Ein Wagen bietet Platz für mehrere Passagiere. Darüber hinaus können alle Passagiere aussteigen, der Wagen funktioniert aber weiterhin reibungslos. Die Beziehung zwischen der
CarKlasse und dem
Passenger[] passengersArray ist weniger streng. Man nennt es
Aggregation . Hier ist ein guter Artikel zu diesem Thema:
Beziehungen zwischen Klassen (Objekten). Es ist ein weiteres gutes Beispiel für Aggregation. Nehmen wir an, wir haben eine
StudentKlasse, die einen Schüler repräsentiert, und eine
StudentGroup, die eine Gruppe von Schülern repräsentiert. Ein Student kann Mitglied eines Physikclubs, eines Star Wars-Fanclubs oder eines Comedy-Clubs sein.
Komposition ist eine strengere Art von Beziehung. Bei der Verwendung von Komposition hat ein Objekt ein anderes Objekt, kann jedoch nicht zu einem anderen Objekt desselben Typs gehören. Das einfachste Beispiel ist ein Automotor. Wenn ein Auto einen Motor hat, kann dieser Motor nicht zu einem anderen Auto gehören. Wie Sie sehen, ist diese Beziehung viel strenger als die von
Carund
Passengers.
![Beziehungen zwischen Klassen. Vererbung, Zusammensetzung und Aggregation – 4]()
GO TO FULL VERSION