LKG/Inf 11 2011/Kapselung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Pascal</language>
Man kann Datenfelder sowie Methoden private oder public setzen. Im Allgemeinen sollten alle Datenfelder private (also von außen kein Zugriff) und Methoden public (Zugriff erlaubt) sein.
<code id="512f36244feca">'''type''' TAuto='''class'''
  ''private''
    farbe: string;
    geschwindigkeit: integer;
    tankfuellung: integer; // in ml
    maxTankvolumen: integer;
  ''public''
    '''constructor''' create(nFarbe:string,nTankfuellung:integer, nMaxTankVol:integer);
    '''function''' getGeschwindigkeit:integer;
    '''procedure''' setGeschwindigkeit(nGeschwindigkeit:integer);
    '''function''' getFarbe:string;
    '''function''' getTankfuellung:integer;
    '''procedure''' Tanken(nTankMenge:integer);
'''end''';</code>

Sonst könnte man von außen immer noch z.B.
<code id="512f36244ff26">ferrari2.Tankfuellung:=2*maxTankvolumen;</code>
ausführen.