Lecture overview -- Keyboard shortcut: 'u'  Previous page: Specialisering og udvidelse [Section] -- Keyboard shortcut: 'p'  Next page: Eksempel på specialiseringer af Konto -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 2 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Nedarvning
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 er central i forbindelse med begrebsmodellering i den tidlige fase af en programudviklingsproces

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

  • Instanserne af B er en delmængde af instanserne af A
  • B-instanserne har alle specielle egenskaber i forhold til andre A-instanser
  • 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.