Was ist der Unterschied zwischen Komposition und Vererbung?
Was ist der Unterschied zwischen Komposition und Vererbung?

Video: Was ist der Unterschied zwischen Komposition und Vererbung?

Video: Was ist der Unterschied zwischen Komposition und Vererbung?
Video: UML Teil 2: Vererbung, Aggregation und Komposition (Neu Vertont) 2024, April
Anonim

Obwohl beide Nachlass und Komposition bietet Code-Wiederverwendbarkeit, main Unterschied zwischen Komposition und Nachlass in Java ist das Komposition erlaubt Wiederverwendung von Code, ohne ihn zu erweitern, aber für die Vererbung müssen Sie ihn erweitern das Klasse für jede Wiederverwendung von Code oder Funktionalität.

Anschließend kann man sich auch fragen, welche Vererbung oder Zusammensetzung besser ist?

1) Einer Grund der Bevorzugung Komposition Über Nachlass in Java ist die Tatsache, dass Java mehrere nicht unterstützt Nachlass . 2) Komposition bietet an besser Testfähigkeit einer Klasse als Nachlass . Wenn einer -Klasse aus einer anderen Klasse besteht, können Sie zu Testzwecken leicht ein Mock-Objekt erstellen, das eine zusammengesetzte Klasse darstellt.

Und was ist Komposition in der objektorientierten Programmierung? Komposition ist eines der grundlegenden Konzepte in Objekt - orientierte Programmierung . Es beschreibt eine Klasse, die auf eine oder mehrere verweist Objekte anderer Klassen in Instanzvariablen. Auf diese Weise können Sie eine Has-A-Assoziation zwischen modellieren Objekte . In der realen Welt findet man solche Beziehungen ziemlich regelmäßig.

Was bedeutet vor diesem Hintergrund Komposition über Vererbung?

Zusammensetzung über Vererbung (oder Composite-Reuse-Prinzip) in der objektorientierten Programmierung (OOP) ist das Prinzip, dass Klassen polymorphes Verhalten und Code-Wiederverwendung durch ihre Komposition (indem Instanzen anderer Klassen enthalten sind, die die gewünschte Funktionalität implementieren) anstatt Nachlass von einer basis

Ist Aggregation eine Vererbung?

Nachlass : Erweitern Sie die Funktionalität einer Klasse, indem Sie eine Unterklasse erstellen. Überschreiben Sie die Member der Superklasse in den Unterklassen, um neue Funktionen bereitzustellen. Anhäufung : Erstellen Sie neue Funktionen, indem Sie andere Klassen nehmen und sie zu einer neuen Klasse kombinieren.

Empfohlen: