Verschil Tussen Polymorfisme En Overerving In OOP

Inhoudsopgave:

Verschil Tussen Polymorfisme En Overerving In OOP
Verschil Tussen Polymorfisme En Overerving In OOP

Video: Verschil Tussen Polymorfisme En Overerving In OOP

Video: Verschil Tussen Polymorfisme En Overerving In OOP
Video: Object Oriented Programming - Encapsulation, Polymorphism and Inheritance. 2024, Mei
Anonim

Belangrijkste verschil - Polymorfisme versus overerving in OOP

Object-Oriented Programming (OOP) wordt vaak gebruikt om software te ontwikkelen. Veel programmeertalen ondersteunen objectgeoriënteerd programmeren. Objectgeoriënteerd programmeren is een methodologie om een programma te ontwerpen met klassen en objecten. Een klasse in OOP is een blauwdruk om een object te maken. Een klasse heeft eigenschappen en methoden. Een object is een instantie van een klasse. OOP bevat vier pijlers zoals Inheritance, Polymorphism, Abstraction en Encapsulation. Dit artikel bespreekt het verschil tussen polymorfisme en overerving in OOP. Het belangrijkste verschil tussen polymorfisme en overerving in OOP is dat polymorfisme het vermogen is van een object om zich op meerdere manieren te gedragen en overerving is om een nieuwe klasse te maken met behulp van eigenschappen en methoden van een bestaande klasse.

INHOUD

1. Overzicht en belangrijkste verschil

2. Wat is polymorfisme in OOP

3. Wat is overerving in OOP

4. Overeenkomsten tussen polymorfisme en overerving in OOP

5. Vergelijking zij aan zij - Polymorfisme versus overerving in OOP in tabelvorm

6. Samenvatting

Wat is polymorfisme in OOP?

Polymorfisme is om meerdere vormen aan te duiden. Een object kan meerdere gedragingen hebben. Polymorfisme kan worden onderverdeeld in twee categorieën. Ze zijn overbelast en overheersend.

Overbelasting

Raadpleeg het onderstaande programma geschreven in Java.

Verschil tussen polymorfisme en overerving in OOP
Verschil tussen polymorfisme en overerving in OOP

Figuur 01: overbelasting

Volgens het bovenstaande programma wordt een object van het type A gemaakt. Bij het aanroepen van obj.sum (); het geeft de uitvoer gerelateerd aan methode sum (). Bij het aanroepen van de obj.sum (2,3); het geeft de uitvoer gerelateerd aan som (int a, int b). Het kan worden opgemerkt dat hetzelfde object verschillende gedragingen vertoont, afhankelijk van de situatie. Als er meerdere methoden zijn met dezelfde naam, maar met verschillende parameters, staat dit bekend als overbelasting. Het is ook bekend als statisch bindend of compilatietijdpolymorfisme.

Overschrijven

Een ander type polymorfisme is doorslaggevend. Raadpleeg het onderstaande programma geschreven in Java.

Verschil tussen polymorfisme en overerving in OOP Figure 02
Verschil tussen polymorfisme en overerving in OOP Figure 02

Figuur 02: overschrijven

Volgens het bovenstaande programma is er een methode display () in klasse A. Klasse B strekt zich uit van klasse A. Daarom zijn alle methoden in klasse A toegankelijk voor klasse B. Het is overerving. Het overervingsconcept wordt later verder beschreven.

Klasse B heeft ook dezelfde methode display (). Wanneer u een object van type A maakt en de weergavemethode aanroept, geeft de uitvoer B. Klasse A weergavemethode wordt overschreven door klasse B weergavemethode. De uitvoer is dus B.

Als er methoden zijn met dezelfde naam en dezelfde parameters, maar in twee verschillende klassen, en ze zijn gekoppeld aan overerving, staat dit bekend als overriding. Het is ook bekend als Late binding, Dynamic Binding, Runtime Polymorphism. Overbelasting en overbelasting worden polymorfisme genoemd. Het is een belangrijk concept in Object Oriented Programming.

Wat is overerving in OOP?

Raadpleeg het onderstaande programma geschreven in Java.

Belangrijkste verschil tussen polymorfisme en overerving in OOP
Belangrijkste verschil tussen polymorfisme en overerving in OOP

Figuur 03: voorbeeld van overerving

Volgens het bovenstaande programma heeft klasse A de methode sum () en heeft klasse B de methode sub ().

De sum () methode van klasse A kan worden gebruikt in klasse B met het trefwoord ext. Het hergebruik van de eigenschappen en methoden in een bestaande klasse om een nieuwe klasse te maken, wordt Inheritance genoemd. Zelfs is er geen methode sum () in klasse B; het wordt geërfd van klasse A. Overerving is nuttig voor herbruikbaarheid van code. De oudere klasse wordt de basisklasse, superklasse of ouderklasse genoemd. De afgeleide klasse wordt de subklasse of de onderliggende klasse genoemd.

Soorten erfenis

Er zijn verschillende soorten overerving. Dit zijn overerving op één niveau, overerving op meerdere niveaus, meervoudige overerving, hiërarchische overerving en hybride overerving.

Enkele erfenis

In Single Inheritance is er één superklasse en één subklasse. Als klasse A de superklasse is en klasse B de subklasse, zijn alle eigenschappen en methoden van klasse A toegankelijk voor klasse B. Er is maar één niveau; daarom wordt het overerving op één niveau genoemd.

Overerving op meerdere niveaus

Bij Multi-Level Inheritance zijn er drie klassen. De tussenklasse erft van superklasse. De subklasse erft van de tussenliggende klasse. Als er drie klassen zijn zoals A, B en C en A is de superklasse en B is de tussenklasse. Dan erft B van A en C erft van B, het is een Overerving op meerdere niveaus.

Meerdere overerving

In Multiple Inheritance zijn er veel superklassen en één subklasse. Als er drie superklassen zijn genaamd A, B, C en D is de subklasse, dan kan klasse D erven van A, B en C. Meervoudige overerving wordt ondersteund in programmeertaal C ++. Het wordt niet ondersteund in programmeertalen zoals Java of C #. Interfaces worden gebruikt om meervoudige overerving in deze talen te implementeren.

Hiërarchische overerving

Als er klassen zijn met de naam A als superklassen en B, C zijn subklassen, kunnen die subklassen eigenschappen en methoden van klasse A overnemen. Dat soort overerving staat bekend als hiërarchische overerving.

Hybride overerving

Er is een ander speciaal overervingstype dat bekend staat als hybride overerving. Het is een combinatie van meerdere niveaus en meerdere overervingen. Als A, B, C en D klassen zijn en B erft van A en D erft van zowel B als C, dan is het een hybride overerving.

Wat zijn de overeenkomsten tussen polymorfisme en overerving in OOP?

Beide zijn concepten van Object Oriented Programming

Wat is het verschil tussen polymorfisme en overerving in OOP?

Diff Artikel Midden voor Tafel

Polymorfisme versus overerving in OOP

Polymorfisme is het vermogen van een object om zich op verschillende manieren te gedragen. Overerving is het maken van een nieuwe klasse met behulp van eigenschappen en methoden van een bestaande klasse.
Gebruik
Polymorfisme wordt gebruikt voor objecten om welke vorm van methoden aan te roepen tijdens compilatie en runtime. Overerving wordt gebruikt voor hergebruik van code.
Implementatie
Polymorfisme wordt geïmplementeerd in methoden. Overerving wordt geïmplementeerd in klassen.
Categorieën
Polymorfisme kan worden onderverdeeld in overbelasting en overbelasting. Overerving kan worden onderverdeeld in één niveau, meerdere niveaus, hiërarchische, hybride en meervoudige overerving.

Samenvatting - Polymorfisme versus overerving in OOP

Polymorfisme en overerving zijn belangrijke begrippen bij Object Oriented Programming. Het verschil tussen Polymorphism en Inheritance in OOP is dat Polymorphism een gemeenschappelijke interface is voor meerdere vormen en Inheritance is om een nieuwe klasse te maken met behulp van eigenschappen en methoden van een bestaande klasse. Beide concepten worden veel gebruikt in softwareontwikkeling.

Download de pdf Polymorphism vs Inheritance in OOP

U kunt de PDF-versie van dit artikel downloaden en voor offline doeleinden gebruiken volgens de citatienota. Download hier de pdf-versie Difference Between Polymorphism and Inheritance in OOP

Aanbevolen: