Care este diferența dintre compoziție și moștenire?
Care este diferența dintre compoziție și moștenire?

Video: Care este diferența dintre compoziție și moștenire?

Video: Care este diferența dintre compoziție și moștenire?
Video: Ce este Tonalitatea muzicală? Diferența dintre Gamă & Tonalitate + Treptele gamei/ Educație muzicală 2024, Decembrie
Anonim

Deși ambele Moştenire și Compoziție oferă reutilizarea codului, principal diferență între Compoziţie şi Moştenire în Java este asta Compoziţie permite reutilizarea cod fără a-l extinde, dar pentru Moștenire trebuie să extindeți cel clasa pentru orice reutilizare de cod sau funcționalitate.

Ulterior, se mai poate întreba, care este mai bine moștenirea sau compoziția?

1) unu motiv de favorizare Compoziţie peste Moştenire în Java este faptul că Java nu acceptă mai multe moştenire . 2) Compoziţie promoții mai bine capacitatea de testare a unei clase decât Moştenire . Dacă unu clasa este compusă dintr-o altă clasă, puteți crea cu ușurință Mock Object reprezentând clasa compusă de dragul testării.

De asemenea, ce este compoziția în programarea orientată pe obiecte? Compoziţie este unul dintre conceptele fundamentale în obiect - programare orientată . Descrie o clasă care face referire la una sau mai multe obiecte a altor clase în variabile de instanță. Acest lucru vă permite să modelați o asociere are-o între obiecte . Puteți găsi astfel de relații destul de regulat în lumea reală.

Ținând acest lucru în vedere, ce înseamnă compoziția peste moștenire?

Compoziția față de moștenire (sau principiul reutilizarii compozite) în programarea orientată pe obiecte (OOP) este principiul că clasele ar trebui să obțină un comportament polimorf și reutilizarea codului de către lor compoziţie (prin conținutul de instanțe ale altor clase care implementează funcționalitatea dorită) mai degrabă decât moştenire dintr-o bază

Este agregarea o moștenire?

Moştenire : extinde funcționalitatea unei clase prin crearea unei subclase. Ignorați membrii superclasei din subclase pentru a oferi noi funcționalități. Agregare : creați o nouă funcționalitate, luând alte clase și combinându-le într-o nouă clasă.

Recomandat: