Moștenire unică vs. Moștenire multiplă
Conţinut
- Cuprins: diferență între moștenire unică și moștenire multiplă
- Diagramă de comparație
- Moștenire unică
- Moștenire multiplă
- Diferențele cheie
- Concluzie
- Video explicativ
Diferența cheie între moștenirea unică și moștenirile multiple este că în moștenirea unică, clasa derivată moștenește doar o singură clasă de bază, în timp ce, în mai multe moșteniri, clasa derivată moștenește mai mult de o clasă de bază.
Moștenirea este unul dintre cele mai importante concepte din OOP, care este programarea orientată pe obiecte. Conceptul de reutilizare este susținut în moștenire. Reutilizabilitatea înseamnă că o nouă clasă reutilizează proprietățile clasei deja existente. În clasa derivată din moștenire, moștenește clasa de bază și acces, specificatorul decide ce membru al clasei de bază va fi moștenit. Există tipuri de moștenire care sunt o moștenire unică, moștenire ierarhică, moștenire pe mai multe niveluri și moștenire hibridă. În moștenire unică, clasa derivată moștenește doar o singură clasă de bază, în timp ce, în mai multe moșteniri, clasa derivată moștenește mai mult de o clasă de bază.
Există doar o singură clasă derivată care este moștenită de la clasa de bază. Există trei modalități de moștenire a clasei de bază care este publică, protejată și privată. Specificatorul de acces este folosit pentru moștenirea clasei de bază. Motivul moștenirii unice este moștenirea proprietăților și comportamentului de la o clasă monoparentală. Scopul principal al programării orientate pe obiect care este reutilizarea codului este îndeplinit prin utilizarea unei moșteniri unice. Dacă vorbim moștenire unică în comparație cu moștenirea multiplă decât, moștenirea unică este mai ușoară în comparație cu moștenirea multiplă. Suprascrierea funcției este utilizată în moștenire unică. Polimorfismul în timp de alergare este cunoscut ca supranumitor. Suprasolicitarea se realizează folosind un cuvânt cheie funcțional care este virtual. Acest cuvânt cheie este utilizat în clasa de bază. Când clasa derivată redefinește o funcție, funcția suprasolicitată nu poate fi modificată. Suprasolicitarea în C ++ determină ce versiune a funcției este numită. Moștenirea unică este folosită în baza vizuală C ++, Java, PHP, C # și.
Moștenirea multiplă permite să obțină mai mult de o clasă de bază, înseamnă că poți obține proprietățile mai multor clase de bază. Putem avea o clasă derivată și mai multe clase de bază. Clasa de bază este moștenită prin menționarea specificatorului de acces separat. Moștenirea multiplă are fuziune simetrică și extensie asimetrică. Când există un model adaptor, se utilizează moștenire multiplă. Moștenirea multiplă este folosită în C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Implementarea codului pentru moșteniri multiple este complexă în comparație cu moștenirea unică.
Cuprins: diferență între moștenire unică și moștenire multiplă
- Diagramă de comparație
- Moștenire unică
- Moștenire multiplă
- Diferențele cheie
- Concluzie
- Video explicativ
Diagramă de comparație
Bază | Moștenire unică | Moștenire multiplă |
Sens | În moștenire unică, clasa derivată moștenește doar o singură clasă de bază | În moșteniri multiple, clasa derivată moștenește mai mult de o clasă de bază.
|
Sigur | Moștenirea unică este mai sigură decât moștenirile multiple | Moștenirile multiple nu sunt sigure de implementat |
Acces | În moștenire, caracteristicile unei singure clase sunt moștenite | În moștenire, mai multe caracteristici ale mai multor clase pot fi moștenite |
Runtime | Moștenirea unică necesită mai mult timp de execuție | Moștenirea multiplă necesită mai puțin timp de execuție |
Moștenire unică
Există doar o singură clasă derivată care este moștenită de la clasa de bază. Există trei modalități de moștenire a clasei de bază care este publică, protejată și privată. Specificatorul de acces este folosit pentru moștenirea clasei de bază. Motivul moștenirii unice este moștenirea proprietăților și comportamentului de la o clasă monoparentală. Scopul principal al programării orientate pe obiect care este reutilizarea codului este îndeplinit prin utilizarea unei moșteniri unice. Dacă vorbim moștenire unică în comparație cu moșteniri multiple decât, moștenirea unică trebuie să fie mai ușoară în comparație cu moștenirile multiple. Suprascrierea funcției este utilizată în moștenire unică. Polimorfismul în timp de alergare este cunoscut ca supranumitor. Suprasolicitarea se realizează folosind un cuvânt cheie funcțional care este virtual. Acest cuvânt cheie este utilizat în clasa de bază. Când clasa derivată redefinește o funcție, funcția suprasolicitată nu poate fi modificată. Suprasolicitarea în C ++ determină ce versiune a funcției este numită. Moștenirea unică este folosită în baza vizuală C ++, Java, PHP, C # și.
Moștenire multiplă
Moștenirile multiple permit derivarea a mai mult de o clasă de bază, înseamnă că puteți obține proprietățile mai multor clase de bază. Putem avea o clasă derivată și mai multe clase de bază. Clasa de bază este moștenită prin menționarea specificatorului de acces separat. Moștenirile multiple au fuziune simetrică și extensie asimetrică. Când există un model de adaptor, se folosesc moșteniri multiple. Moșteniri multiple sunt utilizate în C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Implementarea codului pentru moșteniri multiple este complexă în comparație cu moștenirea unică.
Diferențele cheie
- În moștenire unică, clasa derivată moștenește doar o singură clasă de bază, în timp ce, în mai multe moșteniri, clasa derivată moștenește mai mult de o clasă de bază.
- Moștenirea unică este mai sigură decât moștenirile multiple, în timp ce moștenirile multiple nu sunt sigure de implementat.
- În moștenire, caracteristicile unei singure clase sunt moștenite, în timp ce în moștenire, mai multe caracteristici ale mai multor clase pot fi moștenite.
- Moștenirea unică necesită mai mult timp de execuție, în timp ce moștenirile multiple necesită mai puțin timp de execuție
Concluzie
În acest articol de mai sus vedem diferența clară între moștenirea unică și moștenirile multiple cu implementarea