Methode¶
Naast eigenschappen middels attributen hebben objecten ook gedrag. Een object kan iets zijn en kan iets doen. Het gedrag van een object wordt beschreven in een methode. Een methode is een functie die bij een object hoort.
Een aardappel heeft naast eigenschappen ook functionaliteit. Deze kan bijvoorbeeld groeien, bloeien en geoogst worden. Dit zijn allemaal methods van het object. De class Aardappel
is weer te geven als een diagram:
classDiagram
class Aardappel {
-String kleur
-int grootte
-int gewicht
-Date datumGeplant
-Date datumGeoogst
+void groei()
+void bloei()
+void oogst()
}
In code zou je de methods als functies in de class moeten declareren:
from datetime import datetime
class Aardappel:
def __init__(self, kleur: str, grootte: int, gewicht: int, datum_geplant: datetime, datum_geoogst: datetime):
self._kleur = kleur
self._grootte = grootte
self._gewicht = gewicht
self._datum_geplant = datum_geplant
self._datum_geoogst = datum_geoogst
def groei(self):
self._grootte += 1
def bloei(self):
self._kleur = "groen"
def oogst(self):
self._datum_geoogst = datetime.now()
class Aardappel {
private _kleur: string;
private _grootte: number;
private _gewicht: number;
private _datumGeplant: Date;
private _datumGeoogst: Date;
public groei(): void {
this._grootte++;
}
public bloei(): void {
this._kleur = "groen";
}
public oogst(): void {
this._datumGeoogst = new Date();
}
}
class Aardappel {
constructor(kleur, grootte, gewicht, datumGeplant, datumGeoogst) {
this._kleur = kleur;
this._grootte = grootte;
this._gewicht = gewicht;
this._datumGeplant = datumGeplant;
this._datumGeoogst = datumGeoogst;
}
groei() {
this._grootte++;
}
bloei() {
this._kleur = "groen";
}
oogst() {
this._datumGeoogst = new Date();
}
}