Enkelvoudige overerving versus meervoudige overerving

Schrijver: Laura McKinney
Datum Van Creatie: 4 April 2021
Updatedatum: 14 Kunnen 2024
Anonim
Why Are Israel And Edom At War? Esau Is The End? Answers In Jubilees 45
Video: Why Are Israel And Edom At War? Esau Is The End? Answers In Jubilees 45

Inhoud

Het belangrijkste verschil tussen een enkele overerving en meerdere overerving is dat bij een enkele overerving de afgeleide klasse slechts één basisklasse erft, terwijl de afgeleide klasse bij meerdere overerving meer dan één basisklasse erft.


Overerving is een van de belangrijkste concepten in OOP die objectgeoriënteerd programmeren is. Het concept van herbruikbaarheid wordt ondersteund bij overerving. Herbruikbaarheid betekent dat nieuwe klasse de eigenschappen van de reeds bestaande klasse hergebruikt. In overerving afgeleide klasse erven de basisklasse en toegang, specificeerder beslist welk basisklasse-lid zal worden geërfd. Er zijn soorten overerving die een enkele overerving, hiërarchische overerving, meerlagige overerving en hybride overerving zijn. Bij enkele overerving neemt de afgeleide klasse slechts één basisklasse over, terwijl de afgeleide klasse bij meerdere overerving meer dan één basisklasse erft.

Er is slechts een enkele afgeleide klasse die is overgenomen van de basisklasse. Er zijn drie manieren om de basisklasse te erven die openbaar, beschermd en privé is. Toegangsspecificatie wordt gebruikt om de basisklasse te erven. De reden voor een enkele overerving is om de eigenschappen en het gedrag van een enkele bovenliggende klasse te erven. Het hoofddoel van objectgeoriënteerd programmeren, dat herbruikbaarheid van code is, wordt vervuld door een enkele overerving te gebruiken. Als we spreken over een enkele overerving in vergelijking met meervoudige overerving dan, is een enkele overerving gemakkelijker dan in vergelijking met meervoudige overerving. Functie-override wordt gebruikt bij enkele overerving. Runtime polymorfisme staat bekend als overriding. Overschrijven wordt bereikt door een functietrefwoord te gebruiken dat virtueel is. Dit trefwoord wordt gebruikt in de basisklasse. Wanneer afgeleide klasse een functie opnieuw definieert, kan de overschreven functie niet worden gewijzigd. Overschrijven in C ++ bepaalt welke versie van de functie wordt genoemd. Enkele overerving wordt gebruikt in C ++, Java, PHP, C # en visuele basis.


Meerdere overerving maakt het mogelijk om meer dan één basisklasse af te leiden. Dit betekent dat u de eigenschappen van meer dan één basisklasse kunt krijgen. We kunnen één afgeleide klasse en meerdere basisklassen hebben. De basisklasse wordt overgenomen door de afzonderlijke toegangsspecificatie te vermelden. Meervoudige overerving heeft symmetrische samenvoeging en asymmetrische uitbreiding. Wanneer er een adapterpatroon is, wordt meervoudige overerving gebruikt. Meervoudige overerving wordt gebruikt in C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. De implementatie van code voor meerdere overerving is complex in vergelijking met enkele overerving.

Inhoud: Verschil tussen enkelvoudige overerving en meervoudige overerving

  • Vergelijkingstabel
  • Enkele erfenis
  • Meerdere overerving
  • Belangrijkste verschillen
  • Gevolgtrekking
  • Verklarende video

Vergelijkingstabel

BasisEnkele erfenisMeerdere overerving
Betekenis Bij een enkele overerving neemt de afgeleide klasse slechts één basisklasse over

Bij meerdere overervingen neemt de afgeleide klasse meer dan één basisklasse over.


 

VeiligEenmalige overerving is veiliger dan meerdere overervingMeerdere nalatenschappen zijn niet veilig om te implementeren
ToegangIn enkele overerving worden kenmerken van een enkele klasse geërfdIn meerdere overerving kunnen functies van meerdere klassen worden geërfd
runtime Voor een enkele overerving is meer runtime vereistMeerdere overerving vereist minder looptijd

Enkele erfenis

Er is slechts een enkele afgeleide klasse die is overgenomen van de basisklasse. Er zijn drie manieren om de basisklasse te erven die openbaar, beschermd en privé is. Toegangsspecificatie wordt gebruikt om de basisklasse te erven. De reden voor een enkele overerving is om de eigenschappen en het gedrag van een enkele bovenliggende klasse te erven. Het hoofddoel van objectgeoriënteerd programmeren, dat herbruikbaarheid van code is, wordt vervuld door een enkele overerving te gebruiken. Als we het hebben over een enkele overerving in vergelijking met meerdere overerving dan, is een enkele overerving gemakkelijker dan in vergelijking met meerdere overerving. Functie-override wordt gebruikt bij enkele overerving. Runtime polymorfisme staat bekend als overriding. Overschrijven wordt bereikt door een functietrefwoord te gebruiken dat virtueel is. Dit trefwoord wordt gebruikt in de basisklasse. Wanneer afgeleide klasse een functie opnieuw definieert, kan de overschreven functie niet worden gewijzigd. Overschrijven in C ++ bepaalt welke versie van de functie wordt genoemd. Enkele overerving wordt gebruikt in C ++, Java, PHP, C # en visuele basis.

Meerdere overerving

Meerdere overerving maakt het mogelijk om meer dan één basisklasse af te leiden. Dit betekent dat u de eigenschappen van meer dan één basisklasse kunt krijgen. We kunnen één afgeleide klasse en meerdere basisklassen hebben. De basisklasse wordt overgenomen door de afzonderlijke toegangsspecificatie te vermelden. Meerdere overerving heeft symmetrische samenvoeging en asymmetrische uitbreiding. Wanneer er een adapterpatroon is, worden meerdere overervingen gebruikt. Meerdere overerving wordt gebruikt in C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. De implementatie van code voor meerdere overerving is complex in vergelijking met enkele overerving.

Belangrijkste verschillen

  1. Bij enkele overerving neemt de afgeleide klasse slechts één basisklasse over, terwijl de afgeleide klasse bij meerdere overerving meer dan één basisklasse erft.
  2. Eenmalige overerving is veiliger dan meerdere overerving, terwijl meerdere overerving niet veilig is om te implementeren.
  3. Bij enkele overerving worden kenmerken van een enkele klasse overgenomen, terwijl bij meerdere overerving kenmerken van meerdere klassen kunnen worden overgenomen.
  4. Voor een enkele overerving is meer runtime vereist, terwijl voor meerdere overerving minder runtime nodig is

Gevolgtrekking

In dit artikel hierboven zien we het duidelijke verschil tussen een enkele overerving en meerdere overervingen met de implementatie

Verklarende video