Compoziția permite programatorilor să refolosească clasele existente integrându-le în clase noi. În loc să duplicați codul din mai multe clase, ceea ce îmbunătățește reutilizarea codului. Mai mult, compoziția oferă flexibilitate în combinarea obiectelor pe baza cerințelor primite ale unei clase. De asemenea, promovează modularitatea și face codul mai adaptabil la schimbări.
Acest articol demonstrează o explicație detaliată a compoziției în Java cu ajutorul exemplelor.
Cum se utilizează compoziția în Java cu exemple?
Compoziția promovează cuplarea liberă între clase. Obiectele compuse sunt accesate prin interfețe, clase abstracte sau super clase, care decuplă clasa client de implementările specifice. Acest lucru îmbunătățește mentenabilitatea codului și permite testarea și refactorizarea mai ușoară.
Vizitați exemplul de mai jos pentru o mai bună înțelegere a compoziției în Java:
Exemplu: implementarea conceptului de compoziție în Java
Pentru implementarea conceptului de compoziție, începeți cu crearea a două sau mai multe clase care moștenesc funcția și metode pentru a reduce timpul și complexitatea codului, așa cum se arată mai jos:
Clasa Motor {String privat tip ;
Motor public ( Şir tip ) {
aceasta.tip = tip ;
}
început de gol public ( ) {
System.out.println ( tip + 'Motorul a pornit' ) ;
}
oprire a vidului public ( ) {
System.out.println ( tip + 'Motorul oprit' ) ;
}
}
bicicletă de clasă {
versiune privată String;
private Engine engn;
Bicicletă publică ( Versiune șir, motor motor )
{
this.version = versiune;
this.engn = motor;
}
public void startBike ( ) {
System.out.println ( 'Pornirea bicicletei' + versiune ) ;
engn.start ( ) ;
}
public void stopBike ( ) {
System.out.println ( 'Oprirea bicicletei' + versiune ) ;
engn.stop ( ) ;
}
}
Explicația codului de mai sus:
- Mai întâi, creați o clasă numită „ Motor ” și invocați constructorul implicit care aduce un parametru de tip String numit „ tip ”.
- Apoi, declarați două funcții numite „ start() ' și ' Stop() ” care imprimă mesaje false pe consolă.
- Apoi, creați o nouă clasă numită „ bicicleta ” și se utilizează constructorul implicit care conține variabila și obiectul clasei de mai sus ca parametru.
- De asemenea, setați acești parametri ca valori pentru variabile și obiecte create în cadrul clasei „Bicicletă”. Face ca valorile să fie accesibile în interiorul clasei.
- După aceea, sunt create două funcții numite „ startBike() ' și ' stopBike() ” care imprimă un mesaj fals.
- În cele din urmă, apelează funcțiile create în „ Motor ” prin utilizarea obiectului său numit “ ing ”.
Acum, introduceți „ principal() ” metoda pentru a face codul menționat mai sus să funcționeze:
clasă publică Compoziţie {public static void main ( Şir [ ] argumente ) {
Motor Nici unul = motor nou ( 'YBR' ) ;
Bike bik = bicicletă nouă ( „Bicicletă grea” , Nici unul ) ;
bik.startBike ( ) ;
bik.stopBike ( ) ;
}
}
Explicația codului de mai sus:
- În primul rând, obiectul „ Motor ” clasa este creată cu numele “ Nici unul ” și o valoare aleatorie de tip String este transmisă constructorului său.
- Apoi, creați un obiect pentru „ bicicleta ” clasa numită ” special ”. După aceea, treceți valoarea de tip String de-a lungul obiectului clasei „Engine” ca argument constructorului său.
- În cele din urmă, sunați „ startBike() ' și ' stopBike() ” funcțiile utilizând “ special ' obiect.
După executarea fragmentului de cod de mai sus:
Instantaneul de mai sus arată că datele sunt preluate folosind conceptul de compoziție.
Utilizarea în timp real a compoziției
Există multe aplicații în timp real în care conceptul de compoziție joacă un rol vital. Câteva din acestea
utilizările sunt scrise mai jos:
- În „ Dezvoltare GUI ”, compoziția este folosită în mod obișnuit pentru a construi componente complexe de UI. De exemplu, o clasă Window poate compune obiecte precum Buton, Label și Text Field.
- „ Injecție de dependență Cadrele, cum ar fi Spring, folosesc în mare măsură compoziția pentru a injecta dependențe în obiecte.
- Compoziția este utilizată pe scară largă în „ Proiectarea aplicației ” pentru a modela relații complexe între obiecte precum Client, Tranzacție și Sold pentru a reprezenta un cont bancar cu funcționalități aferente
- Compoziția este fundamentală în „ Dezvoltare bazată pe componente ”, unde componentele reutilizabile sunt compuse pentru a crea sisteme mai mari.
- Compoziția este utilizată în diferite structuri de date pentru a combina structuri de date mai simple pentru a forma altele mai complexe.
Concluzie
Compoziția este utilizată pentru a crea obiecte complexe prin îmbinarea obiectelor simple. Le permite programatorilor să stabilească relații între clase pe baza „ are o ” relație, în care prima clasă conține o instanță a clasei a doua. Folosind conceptul de compoziție, programatorul poate realiza proiecte modulare, reutilizabile și flexibile, compunând obiecte cu comportamente specifice.