da das Thema schon öfter hochkam, will ich mal versuchen, die klassenbasierte Programmierung in einer Schritt für Schritt Anleitung anfängerfreundlich zu schildern.
Man kann eine Klasse am ehesten mit einem Record vergleichen. Der Hauptunterschied ist offensichtlich aber der, daß man eine Variable vom Typ des Records direkt verwenden kann, wohingegen eine Klasseninstanz (so wird eine Klassenvariable genannt) zuerst erzeugt und später wieder freigegeben werden muß.
Code: Alles auswählen
type
RBeispiel = record
Name : string;
Alter : integer;
end;
Code: Alles auswählen
var
Beispiel : RBeispiel;
begin
Beispiel.Name := 'Karl';
Beispiel.Alter := 53;
end;
Code: Alles auswählen
type
TBeispiel = class
Name : string;
Alter : integer;
end;
Code: Alles auswählen
var Beispiel : TBeispiel;
begin
Beispiel := TBeispiel.Create;
Beispiel.Name := 'Karl';
Beispiel.Alter := 53;
Beispiel.Free;
end;
und damit nicht genug, muß die Klasse auch noch wieder freigegeben werden.
Warum ist das so?
Dazu mehr im nächsten Beitrag.