Kõigel, mida peate teadma, on Java-seos



See artikkel annab teile üksikasjalikud ja kõikehõlmavad teadmised selle kohta, kas tal on suhe javas ja mis on selle erinevad kasutusalad.

Omab suhet aastal ja Kas suhe on kaks kõige segasemat mõistet. Selles artiklis keskendume järgmistele parameetritele:

fibonacci c ++ kood

Sissejuhatus seosesse Java

On suhe Java on teada, et koosseis. Seda kasutatakse koodi korduvkasutamiseks. Põhimõtteliselt tähendab see, et ühe klassi eksemplaril on viide teise klassi eksemplarile või sama klassi teisele eksemplarile. See seos aitab minimeerida nii koodi dubleerimist kui ka vigu.





Kompositsioon on assotsiatsioonivorm. Assotsiatsioon on tuntud kui seos kahe eraldi klassi vahel, mis on nende objektide kaudu lubatud. Assotsiatsioon võib olla järgmisel kujul:

  1. Üks ühele



  2. Üks-paljudele

  3. Paljud ühele

  4. Paljud-paljudele



OOP-s (objektile orienteeritud programmeerimine) suhtleb objekt teise objektiga, et kasutada kõiki selle objekti pakutavaid teenuseid ja funktsioone.

Ühing

Siin on näide ühenduse rakendamisest.

import java.io. * klass Pank {privaatne stringi nimi Pank (stringi nimi) {see.nimi = nimi} avalik string getBankName () {tagastab selle.nimi}} klass Töötaja {privaatne stringi nimi Töötaja (stringi nimi) {see. nimi = nimi} public String getEmployeeName () {return this.name}} class Association {public static void main (String [] args) {Pank b = uus pank ('Telg') Töötaja e = uus töötaja ('Himanshi') System.out.println (e.getEmployeeName () + 'on' + b.getBankName ()}}}} töötaja

Väljund:

has-a-relationship-in-java

See on spetsiaalne ühinemisvorm, kus:

.trim () java
  1. See tähistab Has-a-suhet.

  2. Seda tuntakse kui ühesuunalist ühendust (ühesuunaline suhe). Näiteks võib osakonnas olla õpetajaid, kuid vastupidi, see ei ole tõsi ja seega olemuselt ühesuunaline.

Räägime nüüd kompositsioonist

Kompositsioon on piiratud vorm, milles kaks objekti sõltuvad üksteisest tohutult. Kui kahe üksuse vahel eksisteerib koosseis, ei saa see koosneda ilma teise üksuseta.

Siin on näide raamatukogust kompositsiooni mõiste näitamiseks

import java.io. * import java.util. * klassiraamat {public Stringi pealkiri public Stringi autoriraamat (stringi pealkiri, stringi autor) {this.title = pealkiri this.author = autor}} klassi raamatukogu {private final List books (Loendiraamatud) {this.books = raamatud} public List getTotalBooksInLibrary () {return books}} klassi edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Raamat b3 = uus raamat ('Java: täielik viide', 'Herb S') Loendiraamatud = uus ArrayList () books.add (b2) books.add (b3) Raamatukogu teek = uus Raamatukogu (raamatud) Loend bks = teek .getTotalBooksInLibrary () for (Book bk: bks) {System.out.println ('Pealkiri:' + bk.title + 'ja' + 'Autor:' + bk.author)}}}

Väljund:

Üks OOPS-i peamistest eelistest on see, et saame koodi uuesti kasutada. Koodi rakendamine on kahel viisilpärand või eseme koostis.

Kompositsiooni ja pärimise võrdlemine: suhe

  • Koosseisus on klassi vahetamine lihtsam kui pärimisel.

  • Pärilikkus on staatiline seos, kompositsioon aga dünaamiline seondumine.

  • Klassi pärand on määratletud kompileerimise ajal, samas kui objekti koostis on määratletud käitamise ajal.

  • Objektikompositsioonis ei tohiks sisemised detailid üksteisele eksponeeruda ja nad suhtlevad oma avalike liideste kaudu, samas kui päranduses paljastab see nii avalikkuse kui ka põhiklassi kaitstud liikmed.

  • Kompositsioonis saab juurdepääsu piirata, samas kui objekti koostises puudub juurdepääsu kontroll.

    erinevus meetodi ülekoormamise ja Java-s ülekandmise vahel
  • Pärandis rikub see kapseldamise, paljastades alamklassi vanema rakendamise üksikasjad, samas kui objektide koosseisus ei murra see kapseldamist, kuna objektidele pääseb täielikult juurde nende liideste kaudu.

  • Pärandis annab see koodi korduvkasutatavuse, objektide koosseisus aga seoseid esindada.

Näide 1:

klass Operation {int ruut (int n) {return n * n}} klass Ring {Operation op // liitmine topelt pi = 3,14 topeltpindala (int raadius) {op = new Operation () int rsquare = op.square (raadius) // koodi korduvkasutus (st delegeerib meetodi väljakutse). return pi * rsquare} public static void main (String args []) {Ring c = new Circle () double result = c.area (5) System.out.println (result)}}

Väljund:

Näide 2:

klassi maja {Köök k = uus köök () // majaklassi lisakood} Klasside köök {// köögiklassi kood}

Kui maja hävib, hävib ka köök. Seda nimetatakse kompositsiooniks, kui kaks üksust on üksteisest sõltuvad. Võrdlusklass (Köök) ei saaks eksisteerida ilma konteineriklassita (Maja).

Sellega oleme jõudnud lõpule artiklile, millel on Java-seos. Põhimõtteliselt võib klass koostises taaskasutada klassi funktsionaalsust, luues viite klassi objektile, mida ta tahab uuesti kasutada. Seda tuntakse liitmise erijuhuna.

C kurat välja Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad.

Kas teil on meile küsimus? Palun mainige seda selle ajaveebi „Has a Relationship in Java“ kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.