Verschil tussen abstracte klasse en erfenis

Inhoudsopgave:

Verschil tussen abstracte klasse en erfenis
Verschil tussen abstracte klasse en erfenis

Video: Verschil tussen abstracte klasse en erfenis

Video: Verschil tussen abstracte klasse en erfenis
Video: What Is Systems Engineering? | Systems Engineering, Part 1 2024, November
Anonim

Abstracte klasse versus erfenis

Abstracte klasse en Overerving zijn twee belangrijke objectgeoriënteerde concepten die in veel objectgeoriënteerde programmeertalen zoals Java worden aangetroffen. Abstracte klasse kan worden beschouwd als een abstracte versie van een reguliere (concrete) klasse, terwijl Inheritance nieuwe klassen toelaat om andere klassen uit te breiden. Abstracte klasse is een klasse die niet kan worden geïnitialiseerd, maar kan worden uitgebreid. Abstracte klassen zijn dus alleen zinvol als de programmeertaal overerving ondersteunt. In Java worden abstracte klassen gedeclareerd met het trefwoord Abstract, terwijl het trefwoord Extends wordt gebruikt voor het erven van een (super)klasse.

Wat is abstracte les?

Normaal gesproken kunnen abstracte klassen, ook wel abstracte basisklassen (ABC) genoemd, niet worden geïnstantieerd (er kan geen instantie van die klasse worden gemaakt). Abstracte klassen hebben dus alleen betekenis als de programmeertaal overerving ondersteunt (mogelijkheid om subklassen te maken door een klasse uit te breiden). Abstracte klassen vertegenwoordigen meestal een abstract concept of entiteit met gedeeltelijke of geen implementatie. Daarom fungeren abstracte klassen als bovenliggende klassen waaruit onderliggende klassen zijn afgeleid, zodat de onderliggende klasse de onvolledige kenmerken van de bovenliggende klasse deelt en functionaliteit kan worden toegevoegd om ze te voltooien.

Abstracte klassen kunnen abstracte methoden bevatten. Subklassen die een abstracte klasse uitbreiden, kunnen deze (overgeërfde) abstracte methoden implementeren. Als de onderliggende klasse al dergelijke abstracte methoden implementeert, is het een concrete klasse. Maar als dat niet het geval is, wordt de onderliggende klasse ook een abstracte klasse. Wat dit allemaal betekent, is dat, wanneer de programmeur een klasse nomineert als een abstract, ze zegt dat de klasse onvolledig zal zijn en elementen zal hebben die moeten worden voltooid door de overnemende subklassen. Dit is een leuke manier om een contract tussen twee programmeurs te maken, wat de taken in softwareontwikkeling vereenvoudigt. De programmeur, die code schrijft om te erven, moet de methodedefinities exact volgen (maar kan natuurlijk haar eigen implementatie hebben).

Wat is overerving?

Overerving is een objectgeoriënteerd concept, waarmee nieuwe klassen andere klassen kunnen uitbreiden. Extends-sleutelwoord wordt gebruikt om het concept van overerving in de programmeertaal Java te implementeren. Overerving biedt in wezen codehergebruik door eigenschappen en gedrag van een bestaande klasse uit te breiden met een nieuw gedefinieerde klasse. Wanneer een nieuwe subklasse (of afgeleide klasse) een superklasse (of ouderklasse) uitbreidt, zal die subklasse alle attributen en methoden van de superklasse erven. De subklasse kan optioneel het gedrag overschrijven (nieuwe of uitgebreide functionaliteit bieden aan methoden) dat is geërfd van de bovenliggende klasse. Meestal kan een subklasse niet meerdere superklassen uitbreiden (bijvoorbeeld in Java). Daarom kunt u extends niet gebruiken voor meervoudige overerving. Om meervoudige overerving te hebben, moet u interfaces gebruiken.

Wat is het verschil tussen abstracte klasse en overerving?

Abstracte klassen vertegenwoordigen meestal een abstract concept of een entiteit met gedeeltelijke of geen implementatie. Door overerving kunnen nieuwe klassen andere klassen uitbreiden. Omdat abstracte klassen niet kunnen worden geïnstantieerd, moet u het concept van overerving gebruiken om abstracte klassen te gebruiken. Anders heeft een abstracte klasse geen zin. Abstracte klassen kunnen abstracte methoden bevatten en wanneer de klasse wordt uitgebreid, worden alle methoden (abstract en concreet) overgenomen. De overgeërfde klasse kan een of alle methoden implementeren. Als niet alle abstracte methoden zijn geïmplementeerd, wordt die klasse ook een abstracte klasse. Een klasse kan niet van meer dan één abstracte klasse erven (dit is geen kwaliteit van abstracte klassen op zich, maar eerder een beperking van overerving).

Gerelateerde berichten:

Image
Image
Image
Image

Verschil tussen abstracte klasse en concrete klasse

Image
Image
Image
Image

Verschil tussen virtueel en abstract

Image
Image
Image
Image

Verschil tussen abstracte klasse en interface

Image
Image
Image
Image

Verschil tussen werktuigen en verlengstukken

Image
Image
Image
Image

Verschil tussen grafiek en boom

Filed Under: Programmeren Gelabeld met: ABC, abstract, Abstracte basisklassen, Abstracte klasse, Abstracte klassen, Abstracte trefwoord, Abstracte methoden, concrete klasse, Breidt trefwoord uit, Overerving, Overervingsklasse, geërfde klasse, Java, meervoudige overerving, objectgeoriënteerde concepten, reguliere klasse, superklasse

Afbeelding
Afbeelding

Over de auteur: Indika

Indika, BSc. Eng, MSECE Computer Engineering, PhD. Computerwetenschappen, is een assistent-professor en heeft onderzoeksinteresses op het gebied van bio-informatica, computationele biologie en biomedische natuurlijke taalverwerking.

Opmerkingen

  1. Afbeelding
    Afbeelding

    Jason zegt

    30 augustus 2017 om 13:25 uur

    Bedankt voor het uitleggen van het verschil. Al mijn vragen zijn hiermee opgelost.

    Antwoord

  2. Afbeelding
    Afbeelding

    Aus zegt

    10 mei 2019 om 15:04

    beste antwoord op internet, Leraar legt shit niet uit en slaat nergens op, monotoon mf. Zo leg je concepten uit.

    Antwoord

Laat een reactie achter Annuleer antwoord

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met

Commentaar

Naam

E-mail

Website

Artikel aanvragen
Artikel aanvragen
Artikel aanvragen
Artikel aanvragen

Aanbevolen berichten

Verschil tussen coronavirus en verkoudheidssymptomen
Verschil tussen coronavirus en verkoudheidssymptomen

Verschil tussen coronavirus en verkoudheidssymptomen

Verschil tussen coronavirus en SARS
Verschil tussen coronavirus en SARS

Verschil tussen Coronavirus en SARS

Verschil tussen coronavirus en griep
Verschil tussen coronavirus en griep

Verschil tussen coronavirus en griep

Verschil tussen Coronavirus en Covid 19
Verschil tussen Coronavirus en Covid 19

Verschil tussen Coronavirus en Covid 19

Misschien leuk

Verschil tussen Siberische Husky en Malamute

Verschil tussen Calculus AB en BC

Aanbevolen: