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