Ce este Compoziția în Java cu exemple
Publicat: 2022-11-19Versatilitatea limbajului de programare Java permite reutilizarea codului, reducând în același timp duplicitatea între clase. Java facilitează reutilizarea codului prin construirea de relații între clase, iar aceste relații sunt de două tipuri: moștenire și asociere. În timp ce moștenirea ne permite să implementăm o relație is-a și să creăm o nouă clasă dintr-o clasă, asociere sau relație are existentă, asigură reutilizarea codului.
Relația are-a este împărțită în continuare în două categorii: agregare și compoziție în Java . Acest articol va explora conceptul de compoziție în Java și vă va ajuta să înțelegeți elementele fundamentale ale acestuia cu exemple.
O prezentare generală a relațiilor în Java
Relațiile în Java se referă la diferitele moduri în care clasele sunt legate. În general, există două tipuri de relații în Java:
- Este-o relație
- Are o relație
Sursă
Este o relație (moștenire)
Caracteristica de moștenire din Java ne permite să implementăm relații is-a. În acest caz, o clasă moștenește o altă clasă. De exemplu, dacă o clasă „Flower” moștenește o altă clasă, „Lily”, putem spune că clasa „Lily” are o relație este o relație cu „Flower”. De asemenea, implică faptul că Crinul este o floare.
Exemplu: Crinul „este o” floare, computerul „este un” dispozitiv și așa mai departe.
Are o relație (Asociație)
O relație are-a înseamnă că o clasă folosește instanța unei alte clase, iar o astfel de relație în Java se numește asociere. De exemplu, dacă o clasă P deține referința unei alte clase Q, înseamnă că P poate accesa toate proprietățile clasei Q.
Exemplu: computerul „are un” procesor, albina „are” înțepătură etc.
O asociere în Java este o relație între două clase discrete folosind obiectele lor. Relația poate fi de următoarele tipuri:
- One-to-many: un obiect se asociază cu mai multe obiecte.
- One-to-one: un obiect se asociază cu un singur obiect.
- Many-to-many: multe obiecte se asociază cu alte obiecte multiple.
- Multi-la-unu: multe obiecte se asociază cu un singur obiect.
Asocierea este de două tipuri: agregare și compunere.
Compoziție în Java
Compoziția în Java este o tehnică de proiectare pentru a implementa relații has-a între clase. În această asociere, o clasă conține o altă clasă. Mai mult, clasa conținută se bazează pe clasa care conține și nu poate exista independent. Cu alte cuvinte, o clasă include o altă clasă cu funcționalitate interdependentă.
De exemplu, o clasă „Mașină” conține clasele „Motor” și „Baterie”. Astfel, „Mașina” este într-o relație cu „Motor” și „Baterie”, iar ultimele două nu pot exista independent fără „Mașină”.
Să luăm în considerare un alt exemplu din viața reală. Un corp uman are rinichi, iar organele nu pot exista fără un corp uman. Astfel, dacă credem că „Uman” este o clasă cu o relație cu clasa „Rinichi”, este o compoziție în exemplul Java , deoarece rinichii nu pot exista independent fără un corp uman.
Webinarul exclusiv pentru dezvoltare software upGrad pentru tine –
SAAS Business – Ce este atât de diferit?
Implementarea compoziției în exemplu Java
Acum luați în considerare următorul program care demonstrează conceptul de compoziție în Java . Îl vom împărți în pași pentru o mai bună înțelegere.
Pasul 1: În primul pas, vom crea o clasă „Mașină” și vom declara și defini metode și membri de date.
masina de clasa
{
// declararea membrilor datelor și a metodelor
culoare privată șir;
viteza int privat;
mașină public void Caracteristici()
{
System.out.println(„Culoarea mașinii= „+culoarea + ” Viteza maximă= ” + viteza);
}
public void setColor (culoarea șirului)
{
aceasta.culoare = culoare;
}
public void setspeed(viteză int)
{
aceasta.viteza = viteza;
}
}
Pasul 2: În continuare, vom crea o clasă „Fiat” care extinde clasa „Mașină” de mai sus. Clasa „Fiat” folosește metoda de pornire a obiectului clasei FiatEngine prin compoziție, ceea ce implică faptul că clasa „Fiat” „are-un” FiatEngine. Fiat este o mașină, deci se extinde din clasa „Mașină”.
clasa Fiat extinde Car
{
//moștenește toate proprietățile clasei Car
public void setStart()
{
FiatEngine e = nou FiatEngine();
e.start();
}
}
Pasul 3: În următorul pas al programului de compunere Java, vom crea o clasă FiatEngine prin care vom folosi obiectul de clasă din clasa de mai sus „Fiat”.
clasa FiatEngine
{
public void start()
{
System.out.println(„Motorul a pornit.”);
}
public void stop()
{
System.out.println(„Motorul sa oprit.”);
}
}
Pasul 4: În pasul final al programului, vom crea o clasă CompositionExample, vom face un obiect din clasa „Fiat” și o vom inițializa.
clasa CompozițieExemplu
{
public static void main(String[] args)
{
Fiat f = Fiat nou();
f.setColor(„Negru”);
f.setspeed(175);
f.CarFeatures();
h.setStart();
}
}
Ieșire:
Culoare mașină= Negru Viteza maximă= 175
Motorul a pornit.
Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.
Agregare și compunere în Java
Agregarea și compoziția în Java sunt cele două tipuri de relații has-a, ambele fiind diferite în ceea ce privește dependența dintre clase. În agregare, clasele de container și de referință au o existență independentă, în timp ce o clasă de referință de compoziție încetează să existe fără o clasă de container. Astfel, o clasă de referință depinde de clasa sa de container în compoziție.
Iată un exemplu real pentru a înțelege diferența dintre agregare și compoziție în Java . O mașină are diverse părți, cum ar fi un motor, frâne, baterie, faruri, music player etc. Deși mașina poate funcționa fără un music player, nu poate funcționa fără părți esențiale, cum ar fi un motor sau o baterie. Prin urmare, putem spune că mașina și playerul muzical au o relație de agregare, în timp ce motorul și mașina au o relație de compoziție.
Care sunt beneficiile utilizării compoziției în Java?
Acum că aveți o înțelegere fundamentală a conceptului de compoziție în Java, iată o prezentare generală a beneficiilor acestei tehnici:
- Compoziția în Java facilitează reutilizarea codului.
- Compoziția în Java ne permite să controlăm vizibilitatea altor obiecte la clasele client și să reutilizam ceea ce avem nevoie.
- Deși Java nu acceptă moșteniri multiple, îl putem rezolva folosind compoziția.
- Compoziția în Java este flexibilă și ne permite să schimbăm obiectele membre în timpul execuției pentru a modifica comportamentul programului.
- Compoziția Java oferă o testabilitate mai bună a clasei, o caracteristică deosebit de utilă în dezvoltarea bazată pe teste.
- Un design bazat pe compoziție are mai puține clase.
Cursuri populare și articole despre inginerie software
Programe populare | |||
Program Executive PG în Dezvoltare Software - IIIT B | Programul de Certificat Blockchain - PURDUE | Programul de certificate de securitate cibernetică - PURDUE | MSC în Informatică - IIIT B |
Alte articole populare | |||
Salariu inginer cloud în SUA 2021-22 | Salariu AWS Solution Architect în SUA | Salariu pentru dezvoltatori backend în SUA | Salariu pentru Dezvoltator Front End în SUA |
Salariu web developer in SUA | Întrebări de interviu Scrum Master în 2022 | Cum să începi o carieră în securitatea cibernetică în 2022? | Opțiuni de carieră în SUA pentru studenții la inginerie |
Concluzie
Compunerea în Java este o tehnică excelentă dacă relația dintre clase este has-a și doriți să reutilizați codul. În concluzie, iată câteva puncte cheie pe care trebuie să le rețineți despre compoziția în Java:
- Compoziția în Java reprezintă o relație are-o.
- În compoziție, o clasă conține o altă clasă, iar clasa conținută se bazează pe clasa care o conține și nu poate exista independent.
- Ambele entități dintr-o asociație de compoziție sunt dependente una de cealaltă.
- Putem realiza compoziția în Java printr-o variabilă de instanță care se referă la alte obiecte.
Îmbunătățiți-vă cariera cu programul Executive PG de la upGrad în dezvoltarea de software
Dezvoltarea software este una dintre cele mai profitabile opțiuni de carieră pentru tinerii profesioniști. Dacă sunteți deja în industrie sau doriți să începeți, trebuie să vă înscrieți în Programul Executive PG de la upGrad în Dezvoltare software . Programul vă învață abilități solicitate și cele zece limbaje și instrumente de codare cele mai plătite . Puteți alege dintre patru specializări, inclusiv Blockchain Development, Full Stack Development, DevOps și Cloud Backend Development.
Pe lângă învățarea limbajelor de programare cele mai bine plătite , puteți lucra la peste 30 de studii de caz și proiecte. Membrii facultății de talie mondială susțin prelegeri live și sesiuni online pentru curs. Asistența studenților este disponibilă non-stop.
Aplicați acum pentru a obține admiterea la curs cel mai devreme!
Ce este compoziția și moștenirea în Java?
Compoziția și moștenirea în Java sunt două tehnici de programare pentru a stabili relații între obiecte și clase. Compoziția reprezintă o relație are-o cu o clasă care conține o altă clasă. Pe de altă parte, moștenirea prezintă o relație este-o cu o clasă care dobândește proprietățile și comportamentul unei alte clase.
Care este scopul compoziției în Java?
Compoziția în Java permite reutilizarea codului și oferă o mai bună testabilitate a unei clase. Deși Java nu acceptă moșteniri multiple, compoziția oferă o modalitate de a face acest lucru.
Este compoziția un POO?
Compoziția este un concept fundamental în programarea orientată pe obiecte. Descrie o relație are-a în care o clasă face referire la unul sau mai multe obiecte ale altor clase prin variabile de instanță.