WC’s en oef: https://github.com/SebastienVanlede/OO-Software-Development-II
Kort samengevat: https://github.com/Sleinbrein/OOSD2-templates
HT1: overerving
hashCode & equals: objecten vergelijken o.b.v. een attribuut
(/attributen)
bv 2 robotobjecten zijn gelijk als hun attribuut “serienummer” gelijk is
De klasse wordt uitgebreid met 2 methodes: hashCode en equals
Die methoden genereren: alt+shift+s – generate hashCode & equals en het attribuut selecteren
Subklasse
Public class SUB extends SUP
Constructor altijd beginnen met super(); (laten genereren)
“abstract”
Abstracte klasse je kan er geen instantie van maken
Bv public abstract class
Abstracte methode nog geen implementatie, enkel signatuur
Bv public abstract String maakGeluid();
“static”
Static attribuut (=klassevariabele): slechts 1 instantie v/h attribuut
o wordt dus gedeeld door alle instanties
static methode (=klassemethode): wordt aangeroepen zonder referentie naar een instantie (dus
niet bv this. Of super. )
non-static methode (instantiemethode): altijd this. Of super. Enzo
“final”
final klasse: kan geen subklassen hebben
, HT2: polymorfisme & interfaces
Een interface is een klasse die enkel het volgende kan bevatten:
constanten
abstracte methodes
default methodes met implementatie
static methodes met implementatie
verschil superklassen en interface
Tkan ook implements drawable, saleable zijn (2 interfaces)
Kort samengevat: https://github.com/Sleinbrein/OOSD2-templates
HT1: overerving
hashCode & equals: objecten vergelijken o.b.v. een attribuut
(/attributen)
bv 2 robotobjecten zijn gelijk als hun attribuut “serienummer” gelijk is
De klasse wordt uitgebreid met 2 methodes: hashCode en equals
Die methoden genereren: alt+shift+s – generate hashCode & equals en het attribuut selecteren
Subklasse
Public class SUB extends SUP
Constructor altijd beginnen met super(); (laten genereren)
“abstract”
Abstracte klasse je kan er geen instantie van maken
Bv public abstract class
Abstracte methode nog geen implementatie, enkel signatuur
Bv public abstract String maakGeluid();
“static”
Static attribuut (=klassevariabele): slechts 1 instantie v/h attribuut
o wordt dus gedeeld door alle instanties
static methode (=klassemethode): wordt aangeroepen zonder referentie naar een instantie (dus
niet bv this. Of super. )
non-static methode (instantiemethode): altijd this. Of super. Enzo
“final”
final klasse: kan geen subklassen hebben
, HT2: polymorfisme & interfaces
Een interface is een klasse die enkel het volgende kan bevatten:
constanten
abstracte methodes
default methodes met implementatie
static methodes met implementatie
verschil superklassen en interface
Tkan ook implements drawable, saleable zijn (2 interfaces)