Page 23 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Nedarvning
* Specialisering og udvidelse
Specialisering
Eksempel på specialiseringer af Konto
Specialisering og ekstension
Eksempel på specialiseringer af Figur
Udvidelse
Udvidelse og intension
Eksempel på udvidelse: Pair til Triple
* Nedarvning
Nedarvning
Alternativ til nedarvning: Kopiering
Alternativ til nedarvning: Delegering
Nedarvning i Java
Eksempel på nedarvning: CheckKonto
Checkkonto er både en udvidelse og en specialisering af Konto
Eksempel på nedarvning: Triple
Eksempel på nedarvning: DoubleLinkable
Instantiering og initialisering
Nedarvning og konstruktorer i Java
Grænseflader til klienter og subklasser i forbindelse med nedarvning
Nedarvning og synlighed i Java
Forhindring af nedarvning i Java
* Klassehierarkier
Nedarvning og dannelse af klassehierarkier
Dannelse af klassehierarkier i Java
* Polymorfi og dynamisk binding
Statiske og dynamiske typer
Polymorfi og typesammenlignelighed
Statisk og dynamisk binding
Statisk og dynamisk binding i Java
Polymorfi og dynamisk binding i Banken
Eksemplet uden dynamisk binding
Fordele ved dynamisk binding
* Metode redefinition og -kombination
Redefinition af metoder og variable
Forhinding af redefinition
Varians af parametre og returværdi under redefinition
Covarians og contravarians
Metodekombination
* Terminologi
Nedarvningsterminologi
Klassehierarkier