Page 11 : 26
Forelæsningsnoter i Objekt-orienteret Programmering
Design af klassehierarkier
* Abstrakte klasser
Abstrakte klasser
Eksempel: Stack
Abstrakte klasser: Skematisk eksempel
Abstrakte klasser i Java
Abstrakte metoder i Java
Eksempel: Stakken igen
Eksempel: Comparable
Eksempel: Microbib
* Multipel nedarvning
Hvorfor multipel nedarvning?
Problemstillinger ved multipel nedarvning
Multipel klassificering
Multipel nedarvning: Fornuftsægteskab
* Interfaces
Interface begrebet
Interface i Java: Syntaktiske regler
Interfaces i Java: Semantiske regler
Eksempel: StringInput og StringOutput
Eksempel: StringInput og StringOutput
Interfaces i Java Core API: Enumeration
Interfaces i Java Core API: Cloneable
Interfaces i Java Core API: Serializable
Interfaces i forhold til abstrakte klasser
Interfaces på tværs af klasser
Interfaces i forhold til klasser med multipel nedarvning
Hvorfor multipel nedarvning?
Vi vil indledningsvis overveje, hvorfor man kunne ønske sig at arve fra to eller flere klasser i et objekt-orienteret program
Hvorfor mulitipel nedarvning?
Samling af multiple specialiseringer
Eksempel
: Ligebenet retvinklet trekant
Eksempel
: Konto som både er checkkonto og gevinstkonto
Programtransport fra flere kilder
En måde at formidle egenskaber til en klasse fra et antal klasser.
Eksempel
: FixedStack
Klassehierarkier
Trekant specialiseringshierarkiet som del af Figur hierarkiet
Specialiseringer af Konto