Lecture overview -- Keyboard shortcut: 'u'  Previous page: Eksempel på specialiseringer af Figur -- Keyboard shortcut: 'p'  Next page: Udvidelse og intension -- 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 6 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Nedarvning
Udvidelse

Udvidelse af en klasse A med nye egenskaber er centralt fra et genbrugsperspektiv. Vi ønsker at holde klassen A intakt. I en ny klasse B ønsker vi at have alle egenskaber i A plus et antal nye egenskaber, som kun eksisterer i B.

Udvidelse tager udgangspunkt i en klasse opfattet som et modul

Et modul er en syntaktisk ramme omkring et antal variabel- og metodedefinitioner

Udvidelse er en nyttig genbrugsmekanisme , som gør det muligt at undgå håndtering og vedligeholdelse af flere kopier af det samme stykke program

En udvidelse af en klasse A betegner en ny klasse B som

  • Tilføjer nye egenskaber (variable og metoder) i forhold til A.
  • Egenskaberne af A kan også betragtes som egenskaber i klassen B.

Når vi udvider en klasse A tilføjer vi nye instansvariable og metoder. Lad os kalde den nye udvidede klasse B. B har således alle A's egenskaber plus de nye 'udvidede egenskaber'.