ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Methode (objectoriëntatie) - Wikipedia

Methode (objectoriëntatie)

Uit Wikipedia, de vrije encyclopedie

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

Zie Constructor voor het hoofdartikel over dit onderwerp.

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

[bewerk] Statische methode

Een statische methode is een methode die werkt op het niveau van klassen en niet op het niveau van objecten. Een statische methode hoort niet niet bij een object maar het hoort bij een klasse: deze methode is uit te voeren zonder een instantie van die klasse aan te maken. Een statische methode kan niet verwijzen naar een instantie (met this, me of self) aangezien de methode niet bij een object hoort.

In C++, C# en Java wordt een statische methode aangegeven met het sleutelwoord static en in Visual Basic .NET wordt het aangeduid met shared.

Een voorbeeld van een statische methode in Java:

public class VoorbeeldKlasse {
  public static void statischeMethode()
  {
  }

  public void instantieMethode()
  {
  }
}

Deze klasse kan als volgt gebruikt worden:

 // aanroep van de statische methode
 VoorbeeldKlasse.statischeMethode();

 // aanroep van de instantiemethode
 VoorbeeldKlasse instantie = new VoorbeeldKlasse();
 instantie.instantieMethode();


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -