Vererbung gegen Komposition
Vererbung und Zusammensetzung sind zwei wichtige Konzepte in OOP (objektorientierte Programmierung). In einfachen Worten befasst. Vererbung ist die Fähigkeit einer Klasse, Eigenschaften und Verhalten einer übergeordneten Klasse zu erben, indem sie sie erweitert. Auf der anderen Seite ist die Komposition die Fähigkeit einer Klasse, Objekte verschiedener Klassen als Mitgliedsdaten zu enthalten.
Was ist Vererbung?
Wie oben erwähnt, ist die Vererbung die Fähigkeit einer Klasse, Eigenschaften und Verhalten einer übergeordneten Klasse durch Erweiterung zu erben. Die Vererbung liefert im Wesentlichen eine Wiederverwendung von Code, indem erweiterte Eigenschaften und Verhalten einer vorhandenen Klasse durch eine neu definierte Klasse ermöglicht werden. Wenn die Klasse A erweitert wird, wird die Klasse B als übergeordnete Klasse (oder Superklasse) bezeichnet und Klasse A wird als Kinderklasse (oder abgeleitete Klasse/Sub -Klasse) bezeichnet. In diesem Beispielszenario erbt die Klasse A alle öffentlichen und geschützten Attribute und Methoden der Superklasse (b) alle öffentlichen und geschützten Attribute und Methoden. Die Unterklasse kann dem Verhalten optional überschreiben (neue oder erweiterte Funktionen für die Methoden zur Verfügung stellen).
Die Vererbung ist eine „IS-A“ -Beziehung in OOP. Dies bedeutet im Wesentlichen, dass a auch ein B ist. Mit anderen Worten, B kann die Klasse mit einer allgemeinen Beschreibung einer bestimmten Einheit der realen Welt sein, aber A gibt eine bestimmte Spezialisierung an. In einem Programm der realen Weltprogrammierung könnte die Personklasse erweitert werden, um die Mitarbeiterklasse zu erstellen. Dies wird als Spezialisierung bezeichnet. Sie können aber zuerst auch die Mitarbeiterklasse erstellen und sie dann auch auf eine Personenklasse verallgemeinern (ich.e. Verallgemeinerung). In diesem Beispiel wird der Mitarbeiter alle Eigenschaften und das Verhalten der Person haben (i.e. Mitarbeiter ist auch eine Person) und kann zusätzliche Funktionen enthalten (daher ist Person auch kein Mitarbeiter).
Was ist Komposition?
Zusammensetzung ist die Fähigkeit einer Klasse, Objekte verschiedener Klassen als Mitgliedsdaten zu enthalten. Zum Beispiel könnte Klasse A ein Objekt von Klasse B als Mitglied enthalten. Hier können alle in B definierten öffentlichen Methoden (oder Funktionen) innerhalb der Klasse A ausgeführt werden. Klasse A wird zum Container, während Klasse B zur enthaltenen Klasse wird. Die Komposition wird auch als Containerschaft bezeichnet. In diesem Beispiel kann gesagt werden, dass Klasse A aus Klasse B besteht. In OOP stellt die Komposition eine „HAS-A“ -Be Beziehung dar. Es ist wichtig zu beachten. Wenn es um ein Programm der realen Weltprogrammierung geht, kann ein Objekt des Textfelds der Klassen in der Klassenform enthalten sein, und kann daher sagen, dass ein Formular ein Textfeld enthält (oder alternativ besteht ein Formular aus einer Textbox).
Was ist der Unterschied zwischen Vererbung und Zusammensetzung?
Obwohl Vererbung und Zusammensetzung zwei OOP -Konzepte sind, unterscheiden sie sich in dem, was er dem Programmierer erreichen kann. Vererbung ist die Fähigkeit, dass eine Klasse Eigenschaften und Verhalten einer übergeordneten Klasse durch Erweiterung erben, während die Komposition die Fähigkeit einer Klasse ist, Objekte verschiedener Klassen als Mitgliedsdaten zu enthalten. Wenn eine Klasse erweitert ist, erbt sie alle öffentlichen und geschützten Eigenschaften/Verhaltensweisen, und diese Verhaltensweisen können von der Unterklasse außer Kraft gesetzt werden. Wenn jedoch eine Klasse in einem anderen enthalten ist, kann der Container nicht ändern oder Verhalten an die enthaltenen Verhaltensweisen hinzufügen. Die Vererbung stellt eine "IS-A" -Be Beziehung in OOP dar, während die Komposition eine "HAS-A" -Be Beziehung darstellt.