LKG/Inf 11 2011/Klassen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Pascal</language>
'''Bsp:''' Auto hat Eigenschaften (Farbe, Geschwindigkeit...) und Methoden (starten, beschleunigen, bremsen...)
<code id="512f34eddeded">type TAuto=class // im Type-Teil
// Datenfelder
farbe: string;
geschwindigkeit: integer;
tankfuellung: integer; // in ml
maxTankvolumen: integer;
// Konstruktor
constructor create(nFarbe:string,nTankfuellung:integer, nMaxTankVol:integer);
// Methodenköpfe
function getGeschwindigkeit:integer;
procedure setGeschwindigkeit(nGeschwindigkeit:integer);
function getFarbe:string;
function getTankfuellung:integer;
procedure Tanken(nTankMenge:integer);
end;</code>
=== Konstruktor und Destruktor ===
beim Konstruktor werden zB Datenfelder belegt
der Desktruktor gibt beim Löschen Speicher wieder frei
Um eine ''Instanz zu erzeugen'', muss man zunächst das Objekt (die Variable) deklarieren...
<code id="512f34eddee5e">var ferrari2:TAuto;</code>
...und im implement-Teil den Konstruktor aufrufen:
<code id="512f34eddef25">ferrari2:=TAuto.create('rot', 5000, 40000);</code>
-> <code id="512f34eddef8a">Objekt := Klasse.create();</code>
Dieser muss natürlich vorher definiert werden (später).
'''Destruktor:'''
<code id="512f34eddefe9">ferrari2.free;</code>