Alles, was Sie wissen müssen, hat eine Beziehung in Java

Dieser Artikel vermittelt Ihnen ein detailliertes und umfassendes Wissen über Hat eine Beziehung in Java und seine verschiedenen Verwendungszwecke.

Hat eine Beziehung in und Ist eine Beziehung sind zwei der verwirrendsten Begriffe. In diesem Artikel konzentrieren wir uns auf die folgenden Parameter:

Was ist der Unterschied zwischen CSS und CSS3?

Eine Einführung in Hat eine Beziehung in Java

Hat eine Beziehung in Java ist bekannt als Komposition. Es wird zur Wiederverwendbarkeit von Code verwendet. Grundsätzlich bedeutet dies, dass eine Instanz der einen Klasse einen Verweis auf die Instanz einer anderen Klasse oder die andere Instanz derselben Klasse hat. Diese Beziehung hilft, die Duplizierung von Code sowie die Fehler zu minimieren.



Eine Komposition ist eine Form der Assoziation. Assoziation ist bekannt als die Beziehung zwischen zwei getrennten Klassen, die durch ihre Objekte autorisiert sind. Die Assoziation kann folgende Form haben:

  1. Eins zu eins

  2. Eins zu viele

  3. Viele zu eins

  4. Viel zu viel

In OOP (Object Oriented Programming) kommuniziert Object mit einem anderen Objekt, um alle von diesem Objekt bereitgestellten Dienste und Funktionen zu nutzen.

Verband

Hier ist ein Beispiel für die Umsetzung des Vereins.

import java.io. * class Bank {privater Stringname Bank (Stringname) {this.name = name} public String getBankName () {return this.name}} class Employee {privater Stringname Employee (Stringname) {this. name = name} public String getEmployeeName () {return this.name}} class Association {public statisch void main (String [] args) {Bank b = neue Bank ('Achse') Mitarbeiter e = neuer Mitarbeiter ('Himanshi') System.out.println (e.getEmployeeName () + 'ist ein Mitarbeiter von' + b.getBankName ())}}

Ausgabe:

has-a-relationship-in-java

Dies ist die besondere Form der Vereinigung, in der:

  1. Dies repräsentiert eine Beziehung.

  2. Es ist als unidirektionale Assoziation (eine Einwegbeziehung) bekannt. Beispielsweise kann die Abteilung Lehrer haben, aber umgekehrt ist dies nicht der Fall und daher unidirektionaler Natur.

Lassen Sie uns nun über Komposition sprechen

wie man Deadlock in Java vermeidet

Die Komposition ist die eingeschränkte Form, in der zwei Objekte stark voneinander abhängig sind. Wenn zwischen den beiden Entitäten eine Komposition besteht, kann die Komposition nicht ohne eine andere Entität liegen.

Hier ist das Beispiel der Bibliothek zur Darstellung des Kompositionskonzepts

import java.io. * import java.util. * class Book {public String title public String author Buch (String title, String author) {this.title = title this.author = author}} class Library {private final List books Bibliothek (Bücher auflisten) {this.books = books} public List getTotalBooksInLibrary () {Bücher zurückgeben}} class edureka {public static void main (String [] args) {Buch b2 = neues Buch ('Thinking Java', 'Brua E' ) Buch b3 = neues Buch ('Java: Complete Reference', 'Herb S') Liste Bücher = neue ArrayList () books.add (b2) books.add (b3) Bibliotheksbibliothek = neue Bibliothek (Bücher) Liste bks = Bibliothek .getTotalBooksInLibrary () für (Buch bk: bks) {System.out.println ('Titel:' + bk.title + 'und' + 'Autor:' + bk.author)}}}

Ausgabe:

Einer der Hauptvorteile von OOPS ist, dass wir den Code wiederverwenden können. Es gibt zwei Möglichkeiten, wie wir den Code wiederverwenden könnenVererbung oder durch die Objektzusammensetzung.

Zusammensetzung und Vererbung vergleichen: Beziehung

  • In der Komposition ist es einfacher, die Klasse zu ändern als in der Vererbung.

  • Vererbung ist die statische Bindung, während die Zusammensetzung die dynamische Bindung ist.

  • Die Klassenvererbung wird zur Kompilierungszeit definiert, während die Objektzusammensetzung zur Laufzeit definiert wird.

  • Bei der Objektzusammensetzung sollen sich die internen Details nicht gegenseitig aussetzen und sie interagieren über ihre öffentlichen Schnittstellen, während bei der Vererbung sowohl die öffentlichen als auch die geschützten Mitglieder der Basisklasse verfügbar gemacht werden.

  • In der Komposition kann der Zugriff eingeschränkt werden, während in der Objektzusammensetzung keine Zugriffssteuerung vorhanden ist.

  • Bei der Vererbung wird die Kapselung unterbrochen, indem eine Unterklasse den Details der Implementierung des übergeordneten Elements ausgesetzt wird. Bei der Objektzusammensetzung wird die Kapselung nicht unterbrochen, da auf Objekte über ihre Schnittstellen vollständig zugegriffen wird.

  • In Inheritance bietet es die Wiederverwendbarkeit des Codes, während es in Object Composition die Darstellung der Assoziationen ermöglicht.

Beispiel 1:

Klasse Operation {int Quadrat (int n) {Rückgabe n * n}} Klasse Kreis {Operation op // Aggregation double pi = 3.14 doppelte Fläche (int Radius) {op = neue Operation () int rsquare = op.square (Radius) // Wiederverwendbarkeit des Codes (dh delegiert den Methodenaufruf). return pi * rsquare} public static void main (String args []) {Kreis c = neuer Kreis () doppeltes Ergebnis = c.area (5) System.out.println (Ergebnis)}}

Ausgabe:

Beispiel 2:

Klasse Haus {Küche k = neue Küche () // mehr Code für Hausklasse} Klasse Küche {// Code der Küchenklasse}

Wenn das Haus zerstört wird, wird auch die Küche zerstört. Dies wird als Zusammensetzung bezeichnet, wenn zwei Entitäten voneinander abhängig sind. Die Referenzklasse (Küche) könnte ohne die Containerklasse (Haus) nicht existieren.

Damit sind wir am Ende dieses Artikels über eine Beziehung in Java angelangt. Grundsätzlich kann eine Klasse in der Komposition die Funktionalität der Klasse wiederverwenden, indem sie einen Verweis auf das Objekt der Klasse erstellt, das sie wiederverwenden möchte. Es ist als Sonderfall der Aggregation bekannt.

c ++ Sortierliste

C. verdammt noch mal von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Blogs „Hat eine Beziehung in Java“ und wir werden uns so schnell wie möglich bei Ihnen melden.