Vše, co potřebujete vědět, má vztah v Javě



Tento článek vám poskytne podrobnou a srozumitelnou znalost Má vztah v Javě a jeho různá použití.

Má vztah v a Je vztah jsou dva z nejvíce matoucích výrazů. V tomto článku se zaměříme na následující parametry:

spustit dotaz úlu z příkazového řádku

Úvod do vztahu má v Javě

Má vztah v Javě je známo, že je jako Složení. Používá se pro opětovné použití kódu. V zásadě to znamená, že instance jedné třídy má odkaz na instanci jiné třídy nebo jiné instance stejné třídy. Tento vztah pomáhá minimalizovat duplikaci kódu i chyby.





Skladba je formou sdružení. Přidružení je známé jako vztah mezi dvěma samostatnými třídami, které jsou autorizovány prostřednictvím svých objektů. Sdružení může mít formu:

  1. Jeden na jednoho



  2. Jeden k mnoha

  3. Mnoho na jednoho

  4. Mnoho na mnoho



V OOP (Object Oriented Programming) komunikuje Object s jiným objektem, aby využil všechny služby a funkce poskytované tímto objektem.

Sdružení

Zde je příklad implementace Sdružení.

import java.io. * třída Banka {soukromý název řetězce Banka (název řetězce) {this.name = název} veřejný řetězec getBankName () {návrat this.name}} třída Zaměstnanec {soukromý název řetězce Zaměstnanec (název řetězce) {toto. name = name} public String getEmployeeName () {return this.name}} class Association {public static void main (String [] args) {Bank b = new Bank ('Axis') Employee e = new Employee ('Himanshi') System.out.println (e.getEmployeeName () + 'je zaměstnancem' + b.getBankName ())}}

Výstup:

has-a-relationship-in-java

Toto je speciální forma sdružení, kde:

  1. To představuje Has-a-vztah.

  2. Je známá jako jednosměrná asociace (jednosměrný vztah). Katedra může mít například učitele, ale naopak to není pravda, a proto má jednosměrnou povahu.

Nyní si promluvme o složení

Skladba je omezená forma, ve které jsou dva objekty na sobě velmi závislé. Pokud mezi těmito dvěma entitami existuje složení, složený nemůže ležet bez další entity.

Zde je příklad knihovny pro zobrazení konceptu kompozice

import java.io. * import java.util. * class Book {public String title public String author Book (String title, String author) {this.title = title this.author = author}} class Library {private final List books Library (Seznam knih) {this.books = books} public List getTotalBooksInLibrary () {return books}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Book b3 = new Book ('Java: Complete Reference', 'Herb S') List books = new ArrayList () books.add (b2) books.add (b3) Library library = new Library (books) List bks = library .getTotalBooksInLibrary () pro (Kniha bk: bks) {System.out.println ('Název:' + bk.title + 'a' + 'Autor:' + bk.author)}}}

Výstup:

Jednou z hlavních výhod OOPS je, že můžeme znovu použít kód. Existují dva způsoby, jak můžeme znovu použít kód, který je implementacídědičnost nebo podle složení objektu.

vytvoření pole objektů

Srovnání složení a dědičnosti: vztah

  • Ve složení je snazší změnit třídu než v dědičnosti.

  • Dědičnost je statická vazba, zatímco kompozice je dynamická vazba.

  • Dědičnost třídy je definována v době kompilace, zatímco složení objektu je definováno v době běhu.

  • Ve složení objektu by se interní podrobnosti neměly navzájem vystavovat a interagují svými veřejnými rozhraními, zatímco v Inheritance vystavuje veřejnost i chráněné členy základní třídy.

  • Ve složení může být přístup omezen, zatímco ve složení objektu není žádná kontrola přístupu.

  • V Inheritance rozbije zapouzdření vystavením podtřídy podrobnostem implementace svého rodiče, zatímco ve složení objektu nerozbije zapouzdření, protože k objektům je přistupováno úplně přes jejich rozhraní.

  • V dědičnosti poskytuje opětovnou použitelnost kódu, zatímco ve složení objektu umožňuje reprezentovat přidružení.

Příklad 1:

co je token java
třída Operation {int square (int n) {return n * n}} class Circle {Operation op // aggregation double pi = 3.14 double area (int radius) {op = new Operation () int rsquare = op.square (radius) // opětovné použití kódu (tj. deleguje volání metody). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Výstup:

Příklad 2:

třída Dům {Kuchyně k = nová Kuchyně () // další kód pro třídu domu} Třída Kuchyň {// kód třídy kuchyně}

Pokud dojde ke zničení domu, zničí se i kuchyně. Toto se nazývá složení, když jsou dvě entity na sobě závislé. Referenční třída (Kuchyně) by nemohla existovat bez třídy kontejnerů (Dům).

S tímto se dostáváme na konec tohoto článku Has A Relationship In Java. V podstatě ve složení může třída znovu použít funkčnost třídy vytvořením odkazu na objekt třídy, který chce znovu použít. Je znám jako speciální případ agregace.

C sakra Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Má vztah v Javě“ a my se vám ozveme co nejdříve.