Klasser är mallar för objekt. Vi säger att ett objekt är en instans av en viss klass. I vissa språk, exempelvis Java, så kan klassen i sig ibland fungera som ett objekt. För varje objekt så sparas endast den data som gör objektet unikt från andra objekt av samma klass. Metoder är gemensamma för alla objekt men då exekveringen av en metod kan bero på ett objekts attribut så kan resultatet av en operation i form av en metod skilja sig mellan olika objekt.
Arv innebär att klasser kan inkludera
gränssnitt från andra klasser i sitt eget gränssnitt.
En subklass är en utökad, specialiserad
version av dess superklass. Subklassen
innehåller samma operationer och attribut
som superklassen och eventuellt fler.
Man kan säga att ett objekt av en subklass
kan tillhöra superklassen.
Polymorfism innebär att man kan se ett
objekt ur olika perspektiv beroende på
sammanhanget.
Ibland kan ett objekt betraktas som en
instans av sin subklass och ibland som en
instans av sin superklass.
Dynamisk bindning innebär att samma
meddelande till olika instanser kan ge
olika svar beroende på vilken klass som
instansen egentligen är av.
Antag två instanser där den ena är en
instans av superklasen och den andra en
instans av en subklass. Om vi genom
polymorfism ser dessa som instanser av
superklassen så kan vi fortfarande få olika
svar på samma meddelande.
Inga kommentarer:
Skicka en kommentar