Všetko, čo potrebujete vedieť, má vzťah v Jave



Tento článok vám poskytne podrobné a komplexné vedomosti o vzťahu Má vzťah v Jave a jeho rôznych použitiach.

Má vzťah v a Je vzťah sú dva z najviac mätúcich výrazov. V tomto článku sa zameriame na nasledujúce parametre:

ako napísať tostringovú metódu v jave

Úvod do má vzťah v Jave

Má vzťah v prostredí Java, je známy ako Composition. Používa sa na opätovné použitie kódu. V zásade to znamená, že inštancia jednej triedy má odkaz na inštanciu inej triedy alebo na inú inštanciu tej istej triedy. Tento vzťah pomáha minimalizovať duplikáciu kódu, ako aj chýb.





Skladba je formou združenia. Asociácia je známa ako vzťah medzi dvoma samostatnými triedami, ktoré sú autorizované prostredníctvom svojich objektov. Združenie môže mať formu:

  1. Jeden na jedného



  2. Jeden k mnohým

  3. Mnoho k jednému

  4. Mnoho k mnohým



V rámci OOP (Object Oriented Programming) objekt komunikuje s iným objektom, aby využil všetky služby a funkcie poskytované týmto objektom.

Združenie

Tu je príklad implementácie združenia.

import java.io. * trieda Banka {private String name Bank (String name) {this.name = name} public String getBankName () {return this.name}} class Employee {private String name Employee (String name) {this. 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 zamestnancom' + b.getBankName ())}}

Výkon:

has-a-relationship-in-java

Toto je špeciálna forma združenia, kde:

  1. To predstavuje vzťah typu „má vzťah“.

  2. Je známa ako jednosmerná asociácia (jednosmerný vzťah). Katedra môže mať napríklad učiteľov, ale naopak to nie je pravda, a preto má jednosmernú povahu.

Teraz si povieme niečo o zložení

Skladba je obmedzenou formou, v ktorej sú dva objekty navzájom veľmi závislé. Ak medzi týmito dvoma entitami existuje zloženie, zložený nemôže ležať bez inej entity.

Tu je príklad knižnice na preukázanie koncepcie kompozície

import java.io. * import java.util. * trieda Kniha {public Názov reťazca public Autor reťazca Kniha (názov reťazca, autor reťazca) {this.title = názov this.author = autor}} trieda Knižnica {súkromné ​​finále Zoznam kníh Knižnica (Zoznam kníh) {this.books = books} public List getTotalBooksInLibrary () {return books}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Kniha b3 = nová kniha ('Java: Complete Reference', 'Herb S') Zoznam kníh = nový ArrayList () books.add (b2) books.add (b3) Knižnica knižnice = nová Knižnica (knihy) Zoznam bks = knižnica .getTotalBooksInLibrary () pre (Kniha bk: bks) {System.out.println ('Názov:' + bk.title + 'a' + 'Autor:' + bk.author)}}}

Výkon:

Jednou z hlavných výhod OOPS je, že môžeme kód znova použiť. Existujú dva spôsoby, ako môžeme opätovne použiť implementáciu kódudedením alebo zložením objektu.

vytváranie poľa objektov

Porovnanie zloženia a dedičstva: vzťah

  • Je jednoduchšie zloženie zmeniť triedu ako dedičstvo.

  • Dedičstvo je statická väzba, zatiaľ čo zloženie je dynamická väzba.

  • Dedičnosť triedy je definovaná v čase kompilácie, zatiaľ čo zloženie objektu je definované v čase behu.

  • V zložení objektu by sa interné detaily nemali navzájom vystavovať a interagujú prostredníctvom svojich verejných rozhraní, zatiaľ čo pri Inheritance vystavuje verejnosť aj chránených členov základnej triedy.

  • V zložení môže byť prístup obmedzený, zatiaľ čo v zložení objektu neexistuje kontrola prístupu.

  • Pri dedení rozbije zapuzdrenie vystavením podtriedy podrobnostiam implementácie svojho rodiča, zatiaľ čo pri zložení objektu nerozbije zapuzdrenie, pretože k objektom sa pristupuje úplne prostredníctvom ich rozhraní.

  • V Inheritance poskytuje opätovné použitie kódu, zatiaľ čo v zložení objektu umožňuje reprezentovať asociácie.

Príklad 1:

čo je token java
trieda Operácia {int štvorec (int n) {návrat n * n}} trieda Kruh {Operácia op // agregácia double pi = 3,14 dvojitá plocha (int radius) {op = nová Operácia () int rsquare = op.square (radius) // opätovná použiteľnosť kódu (tj deleguje volanie metódy). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Výkon:

Príklad 2:

trieda Dom {Kuchyňa k = nová Kuchyňa () // ďalší kód pre triedu domu} Trieda Kuchyňa {// kód kuchynskej triedy}

Ak dôjde k zničeniu domu, bude zničená aj kuchyňa. Toto sa nazýva zloženie, keď sú dve entity navzájom závislé. Referenčná trieda (Kuchyňa) by nemohla existovať bez kontajnerovej triedy (Dom).

Týmto sa dostávame na koniec tohto článku Has A Relationship In Java. V podstate môže trieda v kompozícii znova použiť funkčnosť triedy vytvorením odkazu na objekt triedy, ktorý chce znovu použiť. Je známy ako špeciálny prípad agregácie.

C. sakra autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto blogu „Má vzťah v Jave“ a my sa vám ozveme čo najskôr.