Skip to main content

Vad är en abstrakt metod?

I objektorienterad programmering används subroutiner som kallas ”metoder” för att utföra funktioner i ett program.Dessa metoder består av programmeringsuttalanden som utför en åtgärd, ställer in ingångsparametrar för att anpassa åtgärder och kan returnera eller mata ut ett värde på något slags objekt eller klass.Metoder är de åtgärder som utförs i ett program från en viss klass eller i ett objekt och används för att komma åt och manipulera data lagrade i ett objekt.Det finns många olika metoder och var och en har en viss användning.En specifik typ som utförs från en abstrakt superklass och ärvt av underklasser är känd som en abstrakt metod.

Generellt utför den abstrakta metoden liten eller ingen implementering inom sin abstrakta superklass.Koder som finns i denna typ av metod betraktas som dummy -koder och implementeras inte själva.Detta betyder inte att den specifika abstrakta metoden i en viss abstrakt klass inte används.Snarare fungerar den abstrakta metoden som en modell eller platshållare för underklasser för att avsluta implementeringen av metoden.

Superklasser kan innehålla flera underklasser, och alla underklasser i en superklass har vissa liknande tillstånd och beteenden.Abstrakta klasser är därför en typ av virtuell klass som uppvisar virtuell arv.Detta innebär att alla underklasser som härrör från en superklass ärver begränsningarna i superklassen från vilken den härleds.Därför härleds metoder i underklasser från abstrakta metoder för superklasser.Vid programmering och användning av abstrakta metoder måste programmeraren förklara klassen abstrakt snarare än virtuell.

Till exempel innehåller en superklass av "grafiska objekt" underklasserna "cirkel", "fyrkantig" etc. som sådan, alla cirklar ochSquares har samma stater mdash;Orientering, position, fyllfärg, linjefärg mdash;och beteenden mdash;Moveto, ändra storlek, rotera, dra mdash;som "grafiska objekt."Alla underklasser i denna superklass har samma egenskaper, men de implementeras på olika sätt.Den abstrakta metoden i superklassen ger grunden utan implementering, och underklasserna utför den faktiska implementeringen med samma metoder.Även om varje underklass använder samma metod som den abstrakta klassen, definierar de unikt hur metoden kommer att genomföras.

Med hjälp av en abstrakt metod möjliggör generalisering på toppnivå, eller superklassen och specifikationen längst ner till det lägrenivåer eller underklasser.Denna hierarki minimerar mängden metodprogrammering till varje specifik underklass.Att använda dessa metoder möjliggör också idempotens av underklasser, vilket innebär att om en metod implementeras om och om igen är resultatet detsamma varje gång.