Lektions indhold -- Tastaturgenvej: 'u'  Forrige side: Polymorfi, dynamisk binding og interfaces -- Tastaturgenvej: 'p'  Næste side: Udvidelse -- Tastaturgenvej: 'n'  Forelæsningsnoter - alle sider sammen  slide -- Tastaturgenvej: 't'  Hjælp om disse noter       Kurset's hjemmeside  Side 21 : 22
Forelæsningsnoter i Objekt-orienteret Programmering
Objekt-orienteret programmering: Ekstra materiale
Specialisering

Specialisering er en form for abstraktion hvormed vi danner et nyt begreb fra et eksisterende begreb. Vi vil nu gå over til også at tale om specialisering af klasser. Specialisering benyttes i en objekt-orienteret modelleringsproces

Specialisering tager udgangspunkt i en klasse opfattet som et begreb

Specialisering er derfor nyttig i forbindelse med modellering af programbegreber i en designprocess

En specialisering af en klasse A betegner en ny klasse B hvor

    Instanserne af B er en delmængde af instanserne af A Operationerne fra klassen A er også anvendelige på instanser af klassen B Nogle af A operationerne er tilpassset de særlige egenskaber, som karakteriser klassen B

Når vi specialiserer en klasse A danner vi en ny klasse som vi her vil kalde B. Mængden af B-objekter er en delmængde af A-objekterne. Ligeledes gælder at de operationer, som virker på objekter af typen A, også virker på objekter af typen B. Klassen B kan indeholde nye redefinerede operationer af A operationerne. Endvidere er det muligt og typisk, at klassen B definerer helt nye operationer i forhold til klassen A. De nye operationer i B relaterer sig til de specielle egenskaber, som B delmængden af A besidder.