AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wozu CREATE zur Instantiirung eigener Objektklassen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wozu CREATE zur Instantiirung eigener Objektklassen?

Ein Thema von EccoBravo · begonnen am 13. Nov 2006 · letzter Beitrag vom 14. Nov 2006
 
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Wozu CREATE zur Instantiirung eigener Objektklassen?

  Alt 13. Nov 2006, 17:47
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.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz