LKG/Inf 11 2011/Kapselung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

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>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>ferrari2.Tankfuellung:=2*maxTankvolumen;</code>
ausführen.