Moștenire unică vs. Moștenire multiplă

Autor: Laura McKinney
Data Creației: 4 Aprilie 2021
Data Actualizării: 16 Mai 2024
Anonim
Abstractizare, încapsulare, moștenire, polimorfism | Tutorial Java începători #6
Video: Abstractizare, încapsulare, moștenire, polimorfism | Tutorial Java începători #6

Conţinut

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ă.


 

SigurMoștenirea unică este mai sigură decât moștenirile multipleMoș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țieMoș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

  1. Î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ă.
  2. Moștenirea unică este mai sigură decât moștenirile multiple, în timp ce moștenirile multiple nu sunt sigure de implementat.
  3. Î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.
  4. 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

Video explicativ