Hallo, mal wieder eine Ober-Dummie-Frage
Ich erzeuge mir eine eigene Klasse im Type-Abschnitt meines Programmes und erzeuge mir im var-Abschnitt eine konkrete Instanzen (meinKreis1, meinKreis2) davon. Dann habe ich mit diesen Instanzen einfach "drauf los-" programmiert. Das ging auch.
so sieht es immer bei mir aus:
Delphi-Quellcode:
// ein UnitCode zur Klassenerzeugung
Unit Kreis;
interface
type TCycle =
Class(TObject);
private
F_Radius : single;
function getPeriph : single;
procedure setPeriph(periph : single);
public
property radius : single
read F_Radius
write F_Radius;
property umfang : single
read getPeriph
write setPeriph;
end;
implementation
function TCycle.getPeriph;
begin
result := 2*Pi*F_Radius;
end;
procedure TCycle.setPeriph(periph:single);
begin
F_Radius := periph / 2 / Pi;
end;
//..............................................
//...
// Implementationsteil des Anwendercodes:
//...
uses kreis;
var
meinKreis1, meinKreis2 : TCycle;
procedure TForm1.FormCreate(Sender:TObject);
begin
// bei mir wird hier nichts mit meinKreis1 und meinKreis2 gemacht
// Im Implement.-Teil werden diese Instanzen einfach nur benutzt.
end;
...
Aber wozu ist denn die Create-Methode nötig, die vor meinem Drauf-Los-Programmieren mit den konkreten Instanzen meinKreis1, meinKreis2 aufgerrufen wird (Laut Literatur):
Delphi-Quellcode:
// ein UnitCode zur Klassenerzeugung
Unit Kreis;
interface
type TCycle =
Class(TObject);
private
F_Radius : single;
function getPeriph : single;
procedure setPeriph(periph : single);
public
property radius : single
read F_Radius
write F_Radius;
property umfang : single
read getPeriph
write setPeriph;
end;
implementation
function TCycle.getPeriph;
begin
result := 2*Pi*F_Radius;
end;
procedure TCycle.setPeriph(periph:single);
begin
F_Radius := periph / 2 / Pi;
end;
//...............................................
//...
// Implementationsteil des Anwendercodes:
//...
uses kreis;
var
meinKreis1, meinKreis2 : TCycle;
procedure TForm1.FormCreate(Sender:TObject);
begin
meinKreis1 := TCycle.Create
// und dieses ist meine Frage
meinKreis2 := TCycle.Create
// wozu?, was ist der Unterschied zu meinem obigen..?
end;
...
Und noch eine Frage:
Wo landet der Sender:TObject ?
immer nur stillschweigend verwendet aber nie gewußt warum?
Danke, Danke E. B.