Was ist Komposition in Java mit Beispielen?

Veröffentlicht: 2022-11-19

Die Vielseitigkeit der Java-Programmiersprache ermöglicht die Wiederverwendung von Code und reduziert gleichzeitig die Duplizität zwischen Klassen. Java erleichtert die Wiederverwendbarkeit von Code, indem es Beziehungen zwischen Klassen aufbaut, und diese Beziehungen sind von zweierlei Art: Vererbung und Assoziation. Während Vererbung es uns ermöglicht, eine ist-ein-Beziehung zu implementieren und eine neue Klasse aus einer bestehenden Klasse zu erstellen, stellt eine Assoziation oder eine hat-ein-Beziehung die Wiederverwendbarkeit von Code sicher.

Die has-a-Beziehung wird weiter in zwei Kategorien unterteilt: Aggregation und Komposition in Java . Dieser Artikel wird das Konzept der Komposition in Java untersuchen und Ihnen anhand von Beispielen helfen, seine Grundlagen zu verstehen.

Inhaltsverzeichnis

Ein Überblick über Beziehungen in Java

Beziehungen in Java beziehen sich auf die verschiedenen Arten, wie Klassen miteinander verbunden sind. Im Großen und Ganzen gibt es zwei Arten von Beziehungen in Java:

  • Ist eine Beziehung
  • Hat eine Beziehung

Komposition in Java

Quelle

Ist-eine Beziehung (Vererbung)

Mit der Vererbungsfunktion in Java können wir is-a-Beziehungen implementieren. In diesem Fall erbt eine Klasse eine andere Klasse. Wenn beispielsweise eine Klasse „Blume“ eine andere Klasse „Lilie“ erbt, können wir sagen, dass die Klasse „Lilie“ eine „ist-ein“-Beziehung mit „Blume“ hat. Es impliziert auch, dass Lily eine Blume ist.

Beispiel: Lilie „ist eine“ Blume, Computer „ist ein“ Gerät und so weiter.

Hat eine Beziehung (Assoziation)

Eine has-a-Beziehung bedeutet, dass eine Klasse die Instanz einer anderen Klasse verwendet, und eine solche Beziehung wird in Java Assoziation genannt. Wenn beispielsweise eine Klasse P die Referenz einer anderen Klasse Q enthält, impliziert dies, dass P auf alle Eigenschaften der Klasse Q zugreifen kann.

Beispiel: Computer 'hat einen' Prozessor, Biene 'hat einen' Stachel usw.

Eine Assoziation in Java ist eine Beziehung zwischen zwei diskreten Klassen, die ihre Objekte verwenden. Die Beziehung kann von den folgenden Typen sein:

  • One-to-many: Ein Objekt wird mehreren Objekten zugeordnet.
  • Eins-zu-Eins: Ein Objekt wird einem einzelnen Objekt zugeordnet.
  • Many-to-many: Viele Objekte werden mit anderen mehreren Objekten verknüpft.
  • Viele-zu-Eins: Viele Objekte werden einem Objekt zugeordnet.

Es gibt zwei Arten von Assoziationen: Aggregation und Komposition.

Komposition in Java

Die Komposition in Java ist eine Entwurfstechnik zur Implementierung von has-a-Beziehungen zwischen Klassen. In dieser Assoziation enthält eine Klasse eine andere Klasse. Darüber hinaus stützt sich die enthaltene Klasse auf die enthaltende Klasse und kann nicht unabhängig existieren. Mit anderen Worten, eine Klasse enthält eine andere Klasse mit voneinander abhängiger Funktionalität.

Beispielsweise enthält eine Klasse „Auto“ die Klassen „Motor“ und „Batterie“. Somit steht „Car“ in einer has-a-Beziehung mit „Engine“ und „Battery“, und die beiden letzteren können ohne „Car“ nicht unabhängig voneinander existieren.

Betrachten wir ein weiteres Beispiel aus dem wirklichen Leben. Ein menschlicher Körper hat Nieren, und die Organe können ohne einen menschlichen Körper nicht existieren. Wenn wir also denken, dass „Mensch“ eine Klasse mit einer Beziehung zur Klasse „Nieren“ ist, dann ist es im Java-Beispiel eine Komposition, da die Nieren ohne einen menschlichen Körper nicht unabhängig existieren können.

upGrads exklusives Softwareentwicklungs-Webinar für Sie –

SAAS Business – Was ist so anders?

Beispiel für die Implementierung einer Komposition in Java

Betrachten Sie nun das folgende Programm, das das Konzept der Komposition in Java demonstriert . Wir werden es zum besseren Verständnis in Schritte unterteilen.

Schritt 1: Im ersten Schritt erstellen wir eine Klasse „Car“ und deklarieren und definieren Methoden und Datenelemente.

Klasse Auto

{

// Datenmember und Methoden deklarieren

private String-Farbe;

private int-Geschwindigkeit;

public void carFeatures()

{

System.out.println(“Car Color= “+color + ” Maximum Speed= ” + speed);

}

public void setColor (Zeichenkettenfarbe)

{

this.color = Farbe;

}

public void setspeed (int-Geschwindigkeit)

{

this.speed = Geschwindigkeit;

}

}

Schritt 2: Als nächstes erstellen wir eine Klasse „Fiat“, die die obige Klasse „Auto“ erweitert. Die Klasse 'Fiat' verwendet die start()-Methode des FiatEngine-Klassenobjekts durch Zusammensetzung, was impliziert, dass die 'Fiat'-Klasse 'eine' FiatEngine hat. Fiat ist ein Auto, also erstreckt es sich von der Klasse „Auto“.

Klasse Fiat erweitert Auto

{

//erbt alle Eigenschaften der Autoklasse

öffentlich void setStart()

{

FiatEngine e = neue FiatEngine();

e.start();

}

}

Schritt 3: Im nächsten Schritt des Java-Kompositionsprogramms erstellen wir eine Klasse FiatEngine, durch die wir das Klassenobjekt in der obigen Klasse „Fiat“ verwenden.

Klasse FiatMotor

{

öffentlicher void start()

{

System.out.println("Engine wurde gestartet.");

}

öffentliche Leerstelle ()

{

System.out.println("Engine wurde gestoppt.");

}

}

Schritt 4: Im letzten Schritt des Programms erstellen wir eine Klasse CompositionExample, erstellen ein Objekt der Klasse „Fiat“ und initialisieren es.

Klasse ZusammensetzungBeispiel

{

public static void main(String[] args)

{

Fiat f = neues Fiat();

f.setColor("Schwarz");

f.setspeed (175);

f.carFeatures();

h.setStart();

}

}

Ausgabe:

Fahrzeugfarbe = Schwarz Höchstgeschwindigkeit = 175

Motor ist gestartet.

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Aggregation und Komposition in Java

Aggregation und Komposition in Java sind die zwei Arten von has-a-Beziehungen, wobei sich beide in Bezug auf die Abhängigkeit zwischen Klassen unterscheiden. In der Aggregation haben die Container- und Referenzklassen eine unabhängige Existenz, während eine Kompositionsreferenzklasse ohne eine Containerklasse aufhört zu existieren. Somit ist eine Referenzklasse in der Zusammensetzung von ihrer Containerklasse abhängig.

Hier ist ein Beispiel aus der Praxis, um den Unterschied zwischen Aggregation und Komposition in Java zu verstehen . Ein Auto hat verschiedene Teile wie Motor, Bremsen, Batterie, Scheinwerfer, Musikplayer usw. Während das Auto ohne Musikplayer funktionieren kann, kann es ohne wesentliche Teile wie Motor oder Batterie nicht fahren. Daher können wir sagen, dass das Auto und der Musikplayer eine Aggregationsbeziehung haben, während der Motor und das Auto eine Kompositionsbeziehung haben.

Was sind die Vorteile der Verwendung von Komposition in Java?

Nachdem Sie nun ein grundlegendes Verständnis des Kompositionskonzepts in Java haben, finden Sie hier einen Überblick über die Vorteile dieser Technik:

  • Die Komposition in Java erleichtert die Wiederverwendbarkeit von Code.
  • Mit der Komposition in Java können wir die Sichtbarkeit anderer Objekte für Client-Klassen steuern und das wiederverwenden, was wir brauchen.
  • Obwohl Java keine Mehrfachvererbung unterstützt, können wir dies mithilfe von Komposition umgehen.
  • Die Komposition in Java ist flexibel und ermöglicht es uns, die Mitgliedsobjekte zur Laufzeit zu ändern, um das Verhalten des Programms zu ändern.
  • Die Java-Komposition bietet eine bessere Klassentestbarkeit, eine Funktion, die besonders nützlich in der testgetriebenen Entwicklung ist.
  • Ein kompositionsbasiertes Design hat weniger Klassen.

Beliebte Kurse und Artikel zum Thema Softwareentwicklung

Beliebte Programme
Executive PG-Programm in Softwareentwicklung - IIIT B Blockchain-Zertifikatsprogramm - PURDUE Programm für Cybersicherheitszertifikate - PURDUE MSC in Informatik - IIIT B
Andere beliebte Artikel
Cloud Engineer Gehalt in den USA 2021-22 Gehalt als AWS-Lösungsarchitekt in den USA Backend-Entwicklergehalt in den USA Front-End-Entwicklergehalt in den USA
Gehalt für Webentwickler in den USA Fragen im Vorstellungsgespräch für Scrum Master im Jahr 2022 Wie starte ich 2022 eine Karriere in der Cybersicherheit? Karrieremöglichkeiten in den USA für Ingenieurstudenten

Fazit

Komposition in Java ist eine ausgezeichnete Technik, wenn die Beziehung zwischen Klassen has-a ist und Sie Code wiederverwenden möchten. Zusammenfassend sind hier einige wichtige Punkte, die Sie bei der Komposition in Java beachten müssen:

  • Die Komposition in Java repräsentiert eine hat-ein-Beziehung.
  • Bei der Komposition enthält eine Klasse eine andere Klasse, und die enthaltene Klasse hängt von der enthaltenden Klasse ab und kann nicht unabhängig existieren.
  • Beide Entitäten in einem Kompositionsverband sind voneinander abhängig.
  • Wir können in Java eine Komposition durch eine Instanzvariable erreichen, die auf andere Objekte verweist.

Verbessern Sie Ihre Karriere mit dem Executive PG-Programm in Softwareentwicklung von upGrad

Softwareentwicklung ist eine der lukrativsten Karriereoptionen für Berufseinsteiger. Wenn Sie bereits in der Branche tätig sind oder einen Einstieg suchen, müssen Sie sich für das Executive PG Program in Software Development von upGrad anmelden . Das Programm vermittelt Ihnen gefragte Fähigkeiten und die zehn bestbezahlten Programmiersprachen und -tools. Sie können aus vier Spezialisierungen wählen, darunter Blockchain-Entwicklung, Full-Stack-Entwicklung, DevOps und Cloud-Backend-Entwicklung.

Neben dem Erlernen der bestbezahlten Programmiersprachen können Sie an über 30 Fallstudien und Projekten arbeiten. Erstklassige Fakultätsmitglieder nehmen an Live-Vorträgen und Online-Sitzungen für den Kurs teil. Die studentische Betreuung steht rund um die Uhr zur Verfügung.

Bewerben Sie sich jetzt , um frühestens zum Studium zugelassen zu werden!

Was ist Komposition und Vererbung in Java?

Komposition und Vererbung in Java sind zwei Programmiertechniken, um Beziehungen zwischen Objekten und Klassen herzustellen. Die Zusammensetzung repräsentiert eine hat-ein-Beziehung mit einer Klasse, die eine andere Klasse enthält. Andererseits weist die Vererbung eine Ist-ein-Beziehung auf, wobei eine Klasse die Eigenschaften und das Verhalten einer anderen Klasse erwirbt.

Was ist der Zweck der Komposition in Java?

Die Komposition in Java ermöglicht die Wiederverwendbarkeit von Code und bietet eine bessere Testbarkeit einer Klasse. Obwohl Java Mehrfachvererbungen nicht unterstützt, bietet die Komposition eine Möglichkeit dazu.

Ist Komposition ein OOP?

Komposition ist ein grundlegendes Konzept in der objektorientierten Programmierung. Es beschreibt eine has-a-Beziehung, bei der eine Klasse über Instanzvariablen auf ein oder mehrere Objekte anderer Klassen verweist.