Wat is het verschil tussen abstractie en overerving?

Inhoudsopgave:

Anonim

De grootste verschil tussen abstractie en overerving is dat: abstractie maakt het mogelijk om de interne details te verbergen en alleen de functionaliteit aan de gebruikers weer te geven, terwijl overerving het gebruik van eigenschappen en methoden van een reeds bestaande klasse mogelijk maakt.

Object-Oriented Programming (OOP) is een belangrijk programmeerparadigma. Het stelt de ontwikkelaars in staat om eenvoudig real-world scenario's te modelleren met behulp van een set objecten. Veel moderne programmeertalen zoals Java en C# ondersteunen OOP. Klasse en object zijn de bouwstenen van een OOP-programma. Een klasse is een blauwdruk, terwijl een object een instantie van een klasse is. Daarnaast zijn er pijlers van OOP. Twee daarvan zijn abstractie en overerving.

Abstractie, abstracte klasse, overerving, interface, object, OOP

Wat is abstractie?

Abstractie is de methode om de interne details te verbergen en alleen de functionaliteit aan de gebruikers weer te geven. Met andere woorden, de gebruiker of de buitenwereld ziet de interne implementatiedetails niet. In plaats daarvan ziet hij alleen de functionaliteit. Het abstractieconcept is vergelijkbaar met het volgende voorbeeld. Neem bijvoorbeeld een afstandsbediening. Het bestaat uit een set knoppen om te bedienen. De gebruiker kan de kanalen wijzigen, het volume verhogen, de helderheid wijzigen enz. Hij hoeft de interne circuits van de controller niet te kennen om te kunnen werken. Abstractie is vergelijkbaar met dat.

Programmeertalen zoals Java ondersteunen Abstraction. De programmeur kan abstractie implementeren met behulp van concepten zoals abstracte klasse en interface. Ten eerste kan een abstracte klasse bestaan ​​uit abstracte en niet-abstracte methoden. Een klasse die een abstracte klasse uitbreidt, moet de implementaties voor de abstracte methoden leveren. Ten tweede is een interface een verzameling abstracte methoden. Het heeft geen niet-abstracte methoden. Daarom moet de klasse die een interface implementeert de implementaties of methodedefinities leveren voor alle abstracte methoden in de interface. Over het algemeen helpt abstractie om de complexiteit van het systeem te verminderen.

Wat is overerving?

Overerving is de methode van het gebruik van eigenschappen en methoden van een reeds bestaande klasse in een nieuwe klasse. De bestaande klasse is de bovenliggende of superklasse, terwijl de nieuwe klasse de onderliggende of subklasse is. De ontwikkelaar hoeft de code niet vanaf het begin te schrijven. In plaats daarvan kan hij de reeds bestaande code gebruiken en de rest ontwikkelen. Daarom maakt overerving herbruikbaarheid van code mogelijk.

Er zijn verschillende soorten overerving. Ze zijn als volgt.

Overerving op één niveau – Als A en B twee klassen zijn en B erft A, dan is het een overerving op één niveau.

Overerving op meerdere niveaus - Er is een tussenklas. Er zijn drie klassen genaamd A, B en C. B erft van A en C erft van B.

Meerdere overerving – Als A, B en C drie klassen zijn, en als C erft van zowel A als B, dan is er sprake van meervoudige overerving.

Hiërarchische erfenis – Als A, B en C drie klassen zijn, en B en C erven van A, dan is er sprake van een hiërarchische overerving.

Hybride overerving – Het is een combinatie van meerdere niveaus en meerdere erfenissen.

Verschil tussen abstractie en overerving

Definitie

Abstractie is een OOP-concept dat de implementatiedetails verbergt en alleen de functionaliteit aan de gebruiker toont. Overerving daarentegen is de methode voor het maken van een nieuwe klasse met behulp van de eigenschappen en methoden van een bestaande klasse. Dit weerspiegelt dus het belangrijkste verschil tussen abstractie en overerving.

Hoofdgebruik:

Conclusie

Over het algemeen zijn abstractie en overerving totaal verschillende OOP-concepten en bieden ze verschillende toepassingen. Het belangrijkste verschil tussen abstractie en overerving is dat abstractie het mogelijk maakt om de interne details te verbergen en alleen de functionaliteit aan de gebruikers weer te geven, terwijl overerving het gebruik van eigenschappen en methoden van een reeds bestaande klasse mogelijk maakt.

Referenties:

1. "Overerving in Java - Javatpoint." Www.javatpoint.com, hier beschikbaar. 2. "Abstracte klasse in Java - Javatpoint." Www.javatpoint.com, hier beschikbaar.

Afbeelding met dank aan:

1. "erfenisdiagram" door Pluke - Eigen werk (CC0) via Commons Wikimedia.

Wat is het verschil tussen abstractie en overerving?