Methode (objectoriëntatie)
In het objectgeöriënteerd programmeren is methode een synoniem voor member-functie. Het is dus een functie die behoort tot een klasse. Alle methodes van een object/klasse samen beschrijven zijn interface en zijn gedrag.
De term 'methode' is oorspronkelijk afkomstig uit de taal Smalltalk, maar is daarna veralgemeend voor al het objectgeoriënteerd programmeren.
[bewerk] Constructor
Een bijzondere klasse van methodes is die van de constructoren. Een constructor is een functie die aangeroepen wordt als een object gecreëerd wordt. Deze dient om het object te initialiseren. Door overloading kan een klasse meerdere constructoren hebben.
Een bijzonder soort constructor is de copy-constructor. Deze functie maakt een kopie van het object en geeft deze terug. Doorgaans is dit een zogenaamde diepe kopie. Dat wil zeggen dat alle geaggregeerde objecten meegekopieerd worden.
[bewerk] Overerven van methodes
Bij het overerven van methodes spelen komen plots een twee varianten kijken.
- concrete functie
- virtuele functie
Het verschil tussen de twee is dat een overgeërfd object in geval van een typecast naar zijn ouder (parent) in het geval van een concrete functie de functie van de parent aanroept, en in het geval van de virtuele functie die van het oorspronkelijke object. Voorbeeld in pseudocode:
klasse Ouder virtual v() concrete c() einde Ouder klasse Kind erftvan Ouder v() // hoort bij het object, ook na typecast c() // hoort bij de klasse Kind einde Kind functie hoofdprog() Kind k; ((Ouder)k).v() // dit roept Kind.v() aan, ondanks de typecast ((Ouder)k).c() // dit roept Ouder.c() aan na de typecast einde hoofdprog