Hva er en abstrakt metode?
I objektorientert programmering brukes underrutiner kalt “metoder” for å utføre funksjoner i et program. Disse metodene består av programmering av utsagn som utfører en handling, setter opp inngangsparametere for å tilpasse handlinger, og kan returnere eller sende ut en verdi av en slags objekt eller klasse. Metoder er handlingene som utføres i et program fra en bestemt klasse eller innenfor et objekt, og brukes til å få tilgang til og manipulere data som er lagret i et objekt. Det er mange forskjellige metoder, og hver har en spesiell bruk. En spesifikk type som utføres fra en abstrakt superklasse og arvet av underklasser er kjent som en abstrakt metode.
Generelt utfører den abstrakte metoden liten eller ingen implementering innenfor sin abstrakte superklasse. Koder inneholdt i denne typen metoder regnes som dummy-koder og implementeres ikke selv. Dette betyr ikke at den spesifikke abstrakte metoden i en bestemt abstrakt klasse ikke blir brukt. Snarere fungerer den abstrakte metoden som en modell eller plassholder for underklasser for å fullføre implementeringen av metoden.
Superklasser kan inneholde flere underklasser, og alle underklasser i en superklasse har visse lignende tilstander og oppførsel. Abstrakte klasser er derfor en type virtuell klasse som viser virtuell arv. Dette betyr at enhver underklasse avledet fra en superklasse arver begrensningene for superklassen som den er avledet fra. Derfor er metoder i underklasser avledet fra abstrakte metoder for superklasser. Ved programmering og bruk av abstrakte metoder må programmereren erklære klassen abstrakt i stedet for virtuell.
For eksempel inneholder en superklasse "Grafiske objekter" underklassene "Sirkel," "Firkant" osv. Som sådan har alle sirkler og firkanter de samme tilstandene - orientering, plassering, fyllfarge, linjefarge - og oppførsel - flytt til , endre størrelse, rotere, tegne - som “Grafiske objekter.” Alle underklasser i denne superklassen har de samme egenskapene, men de implementeres på forskjellige måter. Den abstrakte metoden til superklassen gir grunnlaget uten implementering, og underklassene utfører den faktiske implementeringen ved å bruke de samme metodene. Selv om hver underklasse bruker samme metode som den abstrakte klassen, definerer de unikt måten metoden skal utføres på.
Å bruke en abstrakt metode gir mulighet for generalisering på toppnivå, eller superklasse, og spesifikasjon på lavere nivåer, eller underklasser. Dette hierarkiet minimerer mengden av metodeprogrammering til hver spesifikke underklasse. Ved å bruke disse metodene er det også mulig å fremheve underklasser, noe som betyr at hvis en metode blir implementert om og om igjen, er resultatet det samme hver gang.