Kaikella, mitä sinun tarvitsee tietää, on Java-suhde



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon siitä, että hänellä on suhde java ja sen eri käyttötarkoituksiin.

Hänellä on suhde ja Onko suhde ovat kaksi hämmentävintä termiä. Tässä artikkelissa keskitymme seuraaviin parametreihin:

cassandra-taulukko vs sarakeperhe

Johdanto on suhde Java

On suhde Java tiedetään olevan kokoonpano. Sitä käytetään koodin uudelleenkäytettävyyteen. Pohjimmiltaan se tarkoittaa, että yhden luokan esiintymässä on viittaus toisen luokan tai saman luokan toiseen esiintymään. Tämä suhde auttaa minimoimaan koodin ja virheiden päällekkäisyydet.





Sävellys on yhdistyksen muoto. Assosiaatio tunnetaan kahden erillisen luokan välisenä suhteena, jotka on hyväksytty esineiden kautta. Yhdistys voi olla seuraavanlainen:

  1. Yksi yhteen



  2. Yksi moniin

  3. Monta-yhteen

  4. Monista moniin



OOP: ssa (Object Oriented Programming) Object kommunikoi toisen objektin kanssa käyttääksesi kaikkia kyseisen objektin tarjoamia palveluja ja toimintoja.

Yhdistys

Tässä on esimerkki yhdistyksen toteuttamisesta.

tuo java.io. * luokka Pankki {yksityisen merkkijonon nimi Pankki (merkkijonon nimi) {tämä.nimi = nimi} julkinen merkkijono getBankName () {palauta tämä.nimi}} luokka Työntekijä {yksityisen merkkijonon nimi Työntekijä (merkkijonon nimi) {tämä. nimi = nimi} 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 () + 'on' + b.getBankName ())}}}

Tuotos:

has-a-relationship-in-java

Tämä on erityinen yhdistymismuoto, jossa:

  1. Tämä edustaa Has-a-suhdetta.

  2. Sitä kutsutaan yksisuuntaiseksi yhdistykseksi (yksisuuntainen suhde). Esimerkiksi laitoksella voi olla opettajia, mutta päinvastoin, se ei ole totta ja siten luonteeltaan yksisuuntainen.

    c ++ miten lajitella taulukko

Puhukaamme nyt sävellyksestä

Koostumus on rajoitettu muoto, jossa kaksi esinettä ovat erittäin riippuvaisia ​​toisistaan. Kun näiden kahden yksikön välillä on sävellys, sävellys ei voi olla ilman toista kokonaisuutta.

Tässä on esimerkki kirjastosta sävellyskäsitteen esittelemiseksi

tuo java.io. * tuo java.util. * luokkakirja {public String title public String author book (String title, String author) {this.title = title this.author = author}} luokan kirjasto {private final List books Library (Luettelokirjat) {this.books = kirjat} public List getTotalBooksInLibrary () {return books}} luokan edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Kirja b3 = uusi kirja ('Java: täydellinen viite', 'Yrtti S') Luettelokirjat = uusi ArrayList () kirjat.add (b2) kirjat.add (b3) Kirjastokirjasto = uusi kirjasto (kirjat) Luettelo bks = kirjasto .getTotalBooksInLibrary () kohteelle (Book bk: bks) {System.out.println ('Otsikko:' + bk.title + 'ja' + 'Kirjoittaja:' + bk.author)}}}

Tuotos:

Yksi OOPS: n tärkeimmistä eduista on, että voimme käyttää koodia uudelleen. On kaksi tapaa, joilla voimme käyttää koodia uudelleenperintö tai kohteen koostumus.

Koostumuksen ja perinnön vertailu: suhde

  • Koostumuksessa on helpompaa vaihtaa luokkaa kuin perinnössä.

  • Perintö on staattinen sitoutuminen, kun taas koostumus on dynaaminen sitoutuminen.

  • Luokan perintö määritetään kääntöaikana, kun taas objektikoostumus määritetään ajon aikana.

    java merkkijono jakaa useita erottimia
  • Esineiden kokoonpanossa sisäisten yksityiskohtien ei ole tarkoitus paljastaa toisiaan, ja ne ovat vuorovaikutuksessa julkisten rajapintojensa avulla, kun taas Inheritance-ohjelmassa se paljastaa sekä yleisön että perusluokan suojatut jäsenet.

  • Koostumuksessa pääsyä voidaan rajoittaa, kun taas Objektikoostumuksessa ei ole pääsynvalvontaa.

  • Perinnössä se rikkoo kapseloinnin altistamalla aliluokan vanhemman toteutuksen yksityiskohdille, kun taas Object Composition -ohjelmassa se ei riko kapselointia, koska objekteihin pääsee kokonaan niiden rajapintojen kautta.

  • Perinnössä se tarjoaa koodin uudelleenkäytettävyyden, kun taas Object Composition -ohjelmassa se voi edustaa assosiaatioita.

Esimerkki 1:

luokka Operaatio {int neliö (int n) {paluu n * n}} luokka Ympyrä {Operaatio op // aggregaatio kaksinkertainen pi = 3,14 tuplapinta-ala (int säde) {op = uusi operaatio () int rsquare = op. neliö (säde) // koodin uudelleenkäytettävyys (eli delegoi menetelmän kutsun). return pi * rsquare} public static void main (String args []) {Ympyrä c = uusi Ympyrä () kaksoistulos = c.alue (5) System.out.println (tulos)}}

Tuotos:

Esimerkki 2:

luokan talo {Keittiö k = uusi keittiö () // lisää koodia taloluokalle} Luokan keittiö {// keittiöluokan koodi}

Jos talo tuhoutuu, myös keittiö tuhoutuu. Tätä kutsutaan kokoonpanoksi, kun kaksi kokonaisuutta ovat riippuvaisia ​​toisistaan. Viiteluokkaa (Keittiö) ei voi olla ilman konttiluokkaa (Talo).

Tämän myötä olemme päässeet loppuun artikkelilla, jolla on suhde Java-artikkeliin. Pohjimmiltaan luokka voi koostumuksessa käyttää luokan toiminnallisuutta uudestaan ​​luomalla viitteen luokan objektille, jota se haluaa käyttää uudelleen. Se tunnetaan aggregaation erityistapauksena.

C helvetti Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä.

Onko sinulla kysymys meille? Mainitse se tämän 'Has a Relationship in Java' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.