Hallo Pseudemys Nelsoni,
Zitat von
Pseudemys Nelsoni:
Genau, man kann ja die
Unit voranstellen, deswegen versteh ich auch nicht wieso man das in Klassen packen sollte
. Wenn es deswegen kein
OOP sein soll, dann ist kein Programm
OOP, denn die funktionen der
VCL sind ja alle lose, oder?
der Vorteil der Klasse ist in diesem Fall, dass du deine Funktionen an das jeweilige Objekt gebunden hast. Ich mach mal ein Beispiel fuer etwas ohne
OOP:
Delphi-Quellcode:
type
TToken = record;
//....
end;
function AddTok(...): ...;
function RemoveTok(...): ...;
//.....
var
Tok1, Tok2: TToken;
//.....
AddTok(Tok1, ...);
AddTok(Tok2, ...);
Eigentlich ist nichts an dem Prinzip falsch.
Delphi-Quellcode:
type
TToken = class(TObject)
public
function AddTok(...): ...;
function RemoveTok(...): ...;
end;
//.....
var
Tok1, Tok2: TToken;
//.....
Tok1 := TToken.Create;
Tok2 := TToken.Create;
Tok1.AddTok(...);
Tok2.AddTok(...);
Ich hab jetzt mal die Konstruktoren weggelassen. Der Vorteil ist dass die Funktionen genau auf das eine Objekt gebunden sind, auch wenn intern nur die Referenz uebergeben wird dass du mit Self arbeiten kannst
Zur
VCL: das meisste ist (mehr oder weniger schoene)
OOP, aber es gibt auch Ausnahmen.
Greetz
alcaeus