Allt du behöver veta om har ett förhållande i Java



Den här artikeln ger dig en detaljerad kunskap om Har en relation i java och dess olika användningsområden.

Har ett förhållande i och är ett förhållande är två av de mest förvirrande termerna. I den här artikeln kommer vi att fokusera på följande parametrar:

java vad gör append göra

En introduktion till har ett förhållande i Java

Har ett förhållande i Java är känt för att vara som komposition. Den används för kodåteranvändning. I grund och botten betyder det att en instans av en klass har en hänvisning till förekomsten av en annan klass eller den andra instansen av samma klass. Detta förhållande hjälper till att minimera duplicering av kod såväl som buggar.





En komposition är en form av förening. Förening är känd som förhållandet mellan två separata klasser som är auktoriserade genom sina objekt. Föreningen kan ha formen:

  1. En till en



  2. En till många

  3. Många mot en

  4. Många till många



I OOP (Object Oriented Programming) kommunicerar Object med ett annat objekt för att använda alla tjänster och funktioner som tillhandahålls av det objektet.

Förening

Här är ett exempel på genomförandet av föreningen.

importera java.io. * klass Bank {privat Strängnamn Bank (Strängnamn) {detta.namn = namn} offentligt Sträng getBankName () {returnera detta.namn}} klass Anställd {privat Strängnamn Anställd (Strängnamn) {detta. 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 () + 'är anställd för' + b.getBankName ())}}

Produktion:

has-a-relationship-in-java

Detta är den speciella föreningsformen där:

  1. Detta representerar Has-a-relationship.

  2. Det är känt som en enkelriktad förening (en enkelriktad relation) Exempelvis kan avdelningen ha lärare men vice versa är inte sant och därmed enkelriktad.

Låt oss nu prata om komposition

Kompositionen är den begränsade formen där två objekt är enormt beroende av varandra. När det finns en sammansättning mellan de två enheterna kan den komponerade inte ligga utan en annan enhet.

Här är exemplet på biblioteket för att visa begreppet komposition

importera java.io. * importera java.util. * klass Bok {offentlig Strängrubrik offentlig Strängförfattare Bok (Strängrubrik, Strängförfattare) {this.title = titel this.author = författare}} klass Bibliotek {privat slutlista Böcker Bibliotek (Listböcker) {this.books = books} public List getTotalBooksInLibrary () {return books}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Bok b3 = ny bok ('Java: Komplett referens', 'Herb S') Listböcker = ny ArrayList () books.add (b2) books.add (b3) Biblioteksbibliotek = nytt bibliotek (böcker) List bks = bibliotek .getTotalBooksInLibrary () för (Bok bk: bks) {System.out.println ('Titel:' + bk.title + 'och' + 'Författare:' + bk.författare)}}

Produktion:

En av de största fördelarna med OOPS är att vi kan återanvända koden. Det finns två sätt som vi kan återanvända koden är en implementering avarv eller av objektsammansättningen.

hur man hittar det största numret i en array-Java

Jämföra komposition och arv: förhållande

  • Det är lättare i sammansättning att ändra klass än i arv.

  • Arv är den statiska bindningen medan kompositionen är den dynamiska bindningen.

  • Klassarv definieras vid kompileringstiden medan objektsammansättningen definieras vid körningstiden.

  • I objektsammansättning är de interna detaljerna inte tänkta att exponera för varandra och de interagerar med sina offentliga gränssnitt, medan det i arv exponerar både allmänheten och de skyddade medlemmarna i basklassen.

  • I komposition kan åtkomst begränsas medan det i objektsammansättning finns ingen åtkomstkontroll.

  • In Arv bryter det inkapsling genom att exponera en underklass för detaljerna i dess förälders implementering, medan den i objektsammansättning inte bryter inkapsling eftersom objekt nås helt genom deras gränssnitt.

  • I arv ger den koden återanvändbarhet, medan den i objektsammansättning gör det möjligt att representera föreningarna.

Exempel 1:

sträng till datum konvertera i java
klass Operation {int kvadrat (int n) {retur n * n}} klass Cirkel {Operation op // aggregering dubbel pi = 3,14 dubbel area (int radie) {op = ny operation () int rsquare = op.square (radie) // kodåteranvändbarhet (dvs. delegerar metodanropet). returnera pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Produktion:

Exempel 2:

klass Hus {Kök k = nytt kök () // mer kod för husklass} Klass kök {// kod för köksklass}

Om huset förstörs kommer köket också att förstöras. Detta är känt som kompositionen när två enheter är beroende av varandra. Referensklassen (kök) kunde inte existera utan behållarklassen (hus).

Med detta kommer vi till ett slut på artikeln Har en relation i Java. I grund och botten, i komposition, kan en klass återanvända klassens funktionalitet genom att skapa en referens till objektet i klassen som den vill återanvända. Det är känt som det speciella fallet av aggregering.

C heck ut av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna 'Har ett förhållande i Java' -bloggen så kommer vi tillbaka till dig så snart som möjligt.