Unterschied zwischen Erbschaft und Containerschiff

Unterschied zwischen Erbschaft und Containerschiff
Unterschied zwischen Erbschaft und Containerschiff

Video: Unterschied zwischen Erbschaft und Containerschiff

Video: Unterschied zwischen Erbschaft und Containerschiff
Video: Die Vickrey-Auktion erklärt - Zweitpreisauktion 2024, Juli
Anonim

Vererbung vs. Containerschiff

Vererbung und Containership sind zwei wichtige Konzepte, die in OOP (Object Oriented Programming Example: C++) zu finden sind. Einfach ausgedrückt befassen sich sowohl Containership als auch Inheritance mit der Bereitstellung zusätzlicher Eigenschaften oder Verh altensweisen für eine Klasse. Vererbung ist die Fähigkeit einer Klasse, Eigenschaften und Verh alten von einer übergeordneten Klasse zu erben, indem sie diese erweitert. Andererseits ist Containership die Fähigkeit einer Klasse, Objekte verschiedener Klassen als Mitgliedsdaten zu enth alten.

Was ist Vererbung?

Wie oben erwähnt, ist Vererbung die Fähigkeit einer Klasse, Eigenschaften und Verh alten von einer übergeordneten Klasse zu erben, indem sie diese erweitert. Die Vererbung ermöglicht im Wesentlichen die Wiederverwendung von Code, indem sie die Erweiterung von Eigenschaften und Verh alten einer vorhandenen Klasse durch eine neu definierte Klasse ermöglicht. Wenn Klasse A B erweitert, wird Klasse B Elternklasse (oder Superklasse) und Klasse A Kindklasse (oder abgeleitete Klasse/Unterklasse) genannt. In diesem Beispielszenario erbt Klasse A alle öffentlichen und geschützten Attribute und Methoden der Superklasse (B). Die Unterklasse kann optional das von der Elternklasse geerbte Verh alten überschreiben (Methoden neue oder erweiterte Funktionalität bereitstellen). Vererbung repräsentiert eine „Ist-ein“-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 Entität der realen Welt sein, aber A spezifiziert eine bestimmte Spezialisierung. Bei einem realen Programmierproblem könnte die Person-Klasse erweitert werden, um die Employee-Klasse zu erstellen. Das nennt man Spezialisierung. Sie könnten aber auch zuerst die Employee-Klasse erstellen und sie dann auch auf eine Person-Klasse verallgemeinern (d. h.e. Verallgemeinerung). In diesem Beispiel hat der Mitarbeiter alle Eigenschaften und Verh altensweisen der Person (d. h. der Mitarbeiter ist auch eine Person) und kann auch einige zusätzliche Funktionen enth alten (also ist die Person kein Mitarbeiter).

Was ist ein Containerschiff?

Containership ist die Fähigkeit einer Klasse, Objekte verschiedener Klassen als Mitgliedsdaten zu enth alten. Beispielsweise könnte Klasse A ein Objekt der Klasse B als Mitglied enth alten. 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 enth altenen Klasse wird. Containerschiff wird auch als Komposition bezeichnet. In diesem Beispiel kann gesagt werden, dass Klasse A aus Klasse B besteht. In OOP repräsentiert Containership eine „Has-ein“-Beziehung. Es ist wichtig zu beachten, dass der Container, obwohl er Zugriff zum Ausführen aller öffentlichen Methoden der enth altenen Klasse hat, nicht in der Lage ist, zusätzliche Funktionen zu ändern oder bereitzustellen. Wenn es um ein reales Programmierproblem geht, kann ein Objekt der Klasse TextBox in der Klasse Form enth alten sein, und somit kann gesagt werden, dass ein Formular eine TextBox enthält (oder alternativ ein Formular aus einer TextBox besteht).

Unterschied zwischen Erbschaft und Containerschiff

Obwohl Inheritance und Containership zwei OOP-Konzepte sind, unterscheiden sie sich sehr darin, was sie dem Programmierer ermöglichen. Vererbung ist die Fähigkeit einer Klasse, Eigenschaften und Verh alten von einer übergeordneten Klasse zu erben, indem sie diese erweitert, während Containership die Fähigkeit einer Klasse ist, Objekte verschiedener Klassen als Mitgliedsdaten zu enth alten. Wenn eine Klasse erweitert wird, erbt sie alle öffentlichen und geschützten Eigenschaften/Verh altensweisen, und diese Verh altensweisen können von der Unterklasse überschrieben werden. Aber wenn eine Klasse in einer anderen enth alten ist, erhält der Container nicht die Möglichkeit, das Verh alten der enth altenen Klasse zu ändern oder hinzuzufügen. Vererbung stellt eine „Ist-ein“-Beziehung in OOP dar, während Containership eine „Hat-ein“-Beziehung darstellt.

Empfohlen: