Belangrijkste verschil - Overerving op meerdere niveaus versus op meerdere niveaus
Object-Oriented Programming (OOP) is een paradigma om een programma te ontwerpen met behulp van klassen en methoden. Scenario's uit de echte wereld kunnen worden toegewezen aan objecten. Daarom is het eenvoudig om softwareoplossingen te bouwen. Een klasse is een blauwdruk om een object te bouwen. Het bevat eigenschappen en methoden. Voordat u bijvoorbeeld een leerlingobject maakt, moet er een klasleerling zijn met eigenschappen en methoden. Een student kan eigenschappen hebben zoals student-ID, naam en methoden zoals lezen, schrijven, studeren. Methoden beschrijven het gedrag, terwijl eigenschappen de attributen zijn. Na het aanmaken van de klasse is het mogelijk om er objecten mee te maken. Het maken van objecten wordt ook wel Object Instantiation genoemd. Object staat niet op zichzelf. Ze communiceren met andere objecten en gegevens worden binnen objecten doorgegeven. Een pijler van OOP is Inheritance. Het doel van Inheritance is om de herbruikbaarheid van code te vergroten. Het creëert een nieuwe klasse van eigenschappen en methoden van de reeds bestaande klasse. De bestaande klasse staat bekend als de basisklasse en de nieuwe klasse wordt de afgeleide klasse genoemd. Meervoudige overerving en overerving op meerdere niveaus zijn typen overerving. Dit artikel bespreekt het verschil tussen beide. De belangrijk verschil tussen meervoudige en multilevel-overerving is dat meervoudige overerving is wanneer een klasse erft van veel basisklassen, terwijl multilevel-overerving is wanneer een klasse erft van een afgeleide klasse, waardoor die afgeleide klasse een basisklasse wordt voor een nieuwe klasse. Meervoudige overerving en overerving op meerdere niveaus zijn typen overerving. Dit artikel bespreekt het verschil tussen beide. De belangrijk verschil tussen meervoudige en multilevel-overerving is dat meervoudige overerving is wanneer een klasse erft van veel basisklassen, terwijl multilevel-overerving is wanneer een klasse erft van een afgeleide klasse, waardoor die afgeleide klasse een basisklasse wordt voor een nieuwe klasse. Meervoudige overerving en overerving op meerdere niveaus zijn typen overerving. Dit artikel bespreekt het verschil tussen beide. De belangrijk verschil tussen meervoudige en multilevel-overerving is dat meervoudige overerving is wanneer een klasse erft van veel basisklassen, terwijl multilevel-overerving is wanneer een klasse erft van een afgeleide klasse, waardoor die afgeleide klasse een basisklasse wordt voor een nieuwe klasse.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is meervoudige overerving
3. Wat is overerving op
meerdere niveaus 4. Overeenkomsten tussen overerving op meerdere niveaus en overervingen op meerdere niveaus
5. Vergelijking zij aan zij - overerving op meerdere niveaus versus overervingen op meerdere niveaus in tabelvorm
6. Samenvatting
Wat is meervoudige overerving?
Meervoudige overerving is wanneer een klasse meer dan één basisklasse erft.
Figuur 01: meervoudige overerving
AB en C zijn klassen. A en B zijn basisklassen en C is de afgeleide klasse. De klasse C moet de afhankelijkheid van beide basisklassen A en B beheren. Meerdere overervingen worden niet veel gebruikt in softwareprojecten. Het maakt het systeem complexer omdat één klasse veel klassen erft.
Neem bijvoorbeeld aan dat klasse A en B beide een methode hebben met dezelfde naam, namelijk de som (), en dat klasse C beide klassen afleidt. Na het maken van een object van het type C en het aanroepen van de methode sum (), kan dit een fout veroorzaken omdat beide klassen dezelfde methode hebben. De compiler weet niet welke functie hij moet aanroepen. Daarom vergroot meervoudige overerving de complexiteit van een systeem. Meervoudige overerving wordt ondersteund in de C ++ -taal, maar talen zoals Java en C # ondersteunen geen meervoudige overerving. In plaats daarvan gebruiken deze talen een interface die lijkt op een klasse, maar die niet kan worden geïnstantieerd.
Wat is overerving op meerdere niveaus?
Overerving op meerdere niveaus is wanneer een klasse erft van een afgeleide klasse, waardoor die afgeleide klasse een basisklasse wordt voor een nieuwe klasse.
Figuur 02: Overerving op meerdere niveaus
Overerving op meerdere niveaus heeft drie niveaus. De tussenklasse die B erft van klasse A en klasse C erft van klasse B. A is de basisklasse voor B en B is de basisklasse voor C.
Een programma dat Overerving op meerdere niveaus implementeert, is als volgt. Het programma is geschreven met Java.
Figuur 03: Programma dat erfenis op meerdere niveaus implementeert
Volgens het bovenstaande programma is klasse A de basisklasse voor klasse B. Klasse B is de basisklasse voor klasse C. Alle eigenschappen en methoden van klasse A zijn toegankelijk voor klasse B. Alle eigenschappen en methoden van klasse B zijn toegankelijk per klasse C. Daarom heeft klasse C toegang tot eigenschappen en methoden van zowel A als B. Bij het maken van een object van het type C is het mogelijk om alle drie de methoden A (), B () en C () aan te roepen. De uitvoer geeft A, B, C.
Wat is de overeenkomst tussen meervoudige en meerlaagse overerving?
Beide zijn soorten overerving
Wat is het verschil tussen meervoudige en meerlaagse overerving?
Diff Artikel Midden voor Tafel
Meerdere overerving versus overerving op meerdere niveaus |
|
Meervoudige overerving is een overervingstype waarbij een klasse erft van meer dan één basisklasse. | Overerving op meerdere niveaus is een overervingstype dat erft van een afgeleide klasse, waardoor die afgeleide klasse een basisklasse wordt voor een nieuwe klasse. |
Gebruik | |
Meervoudige overerving wordt niet veel gebruikt omdat het het systeem complexer maakt. | Overerving op meerdere niveaus wordt veel gebruikt. |
Klasseniveaus | |
Multiple Inheritance heeft twee klassenniveaus, namelijk basisklasse en afgeleide klasse. | Overerving op meerdere niveaus heeft drie klasseniveaus, namelijk basisklasse, tussenklasse en afgeleide klasse. |
Samenvatting - Meerdere versus multilevel-overerving
Overerving is een belangrijke pijler van objectgeoriënteerd programmeren. Er zijn verschillende soorten overerving; dit zijn overerving op één niveau, overerving op meerdere niveaus, meervoudige overerving, hiërarchische overerving en hybride overerving. De Single Level Inheritance heeft één basisklasse en één afgeleide klasse. Hiërarchische overerving heeft één basisklasse en veel afgeleide klassen. De hybride overerving is een combinatie van multilevel en meervoudige overerving. Dit artikel beschrijft het verschil tussen meervoudige overerving en overerving op meerdere niveaus. Het verschil tussen meervoudige overerving en overerving op meerdere niveaus is dat meervoudige overerving is wanneer een klasse erft van veel basisklassen, terwijl multilevel-overerving is wanneer een klasse erft van een afgeleide klasse, waardoor die afgeleide klasse een basisklasse wordt voor een nieuwe klasse. Overerving op meerdere niveaus wordt veel gebruikt dan meervoudige overerving.
Download de PDF Multiple vs Multilevel Inheritance
U kunt de PDF-versie van dit artikel downloaden en voor offline doeleinden gebruiken volgens de citatienota. Download hier de pdf-versie. Verschil tussen meervoudige en multilevel-overerving