aggregering (HAS-A relationship) I Java

aggregering är en term som används för att hänvisa envägsförhållande mellan två objekt. Till exempel kan Studentklass ha referens till Adressklass men vice versa är inte meningsfullt.

i Java representerar aggregering HAS-A-relation, vilket betyder när en klass innehåller referens till en annan klass som är känd för att ha aggregering.

HAS-a-förhållandet är baserat på användning, snarare än arv. Med andra ord har klass A-en relation med klass B, om klass A har en hänvisning till en instans av klass B.

Låt oss förstå det med ett exempel och överväga två klasser Student och adress. Varje elev har egen adress som gör har-en relation men Adress har elev inte gör någon mening. Vi kan förstå det tydligare med Java-kod.

här i ovanstående kod kan vi se Studentklass har-en relation med Adressklass. Vi har också ritat en bild för att visa förhållandet mellan dessa två klasser..

Student klassen har en instansvariabel av typenAddress. Eftersom vi har en variabel av typen Address I Student – klassen kan den använda Adressreferens som är ad I detta fall för att åberopa metoder för Address – klassen.

fördel med aggregering

den största fördelen med att använda aggregering är att upprätthålla kodåteranvändbarhet. Om en enhet har en relation med någon annan enhet än den kan återanvända kod bara genom att hänvisa till det.

Aggregeringsexempel

Nu kan vi förstå det genom att använda ett exempel, här skapade vi två klasser författare och bok och Bokklass har en relation med Författarklass genom att ha sin referens. Nu kan vi få alla egenskaper hos båda klasserna.

Boknamn: Java för BegginerBook Pris: 800————författarens detaljer———-Auther namn: JohnAuther ålder: 42Auther plats: USA

Låt oss ta ett exempel för att förstå aggregering. Antag att vi har ytterligare en Klassutgivare då Bokklassen kan återanvända Utgivarklassdetaljer genom att bara använda referensen som Författarklass. Låt oss förstå det med Java-kod.

komposition i Java

komposition är en mer begränsad form av aggregering. Sammansättning kan beskrivas som när en klass som inkluderar en annan klass, är beroende av den på ett sådant sätt att den inte funktionellt kan existera utan den klass som ingår. Till exempel kan en klass Car inte existera utan Engine, eftersom den inte längre fungerar.

därav ordet sammansättning som betyder objekten något är gjord av och om vi ändrar sammansättningen av saker de ändrar, på samma sätt i Java klasser, en klass inklusive en annan klass kallas en komposition om klassen ingår ger kärnan funktionell betydelse för den yttre klassen.

class Car{ private Engine engine; Car(Engine en) { engine = en; }}

Här genom att undersöka kod kan vi förstå att om bilklassen inte har förhållande till Motorklassen så har bilen inte existens.

komposition är en designteknik, inte en funktion i Java men vi kan uppnå det med Java-kod.

Q. När ska man använda arv och aggregering?

När du vill använda någon egenskap eller beteende i någon klass utan krav på att ändra den eller lägga till mer funktionalitet till den, är aggregering i sådant fall ett bättre alternativ eftersom vi vid aggregering bara använder någon extern klass i vår klass som en variabel.

medan när du vill använda och ändra någon egenskap eller beteende av någon extern klass eller kanske vill lägga till mer funktion ovanpå det, är det bäst att använda arv.

för att förstå mer om arv kan du besöka vår detaljerade handledning här. Klicka här för att se arv i Java

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *