On Wednesday, January 29, 2003, 4:49:40 AM, Julius Fenata wrote:

> Kalo saya sudah bisa lakukan seperti ini:
> MyAnimal := TAnimal.Create;
> Bisa ngga..., saya ngga perlu declare di class-nya seperti ini...?
 
> type
>   TAnimal = class
>     \\constructor <file://\\constructor>  Create;     --> Ngga perlu
> constructor lagi..., langsung aja methodnya...
>     procedure blablabla;
>     function blablabla;
>   end;

Kalau kita tidak perlu mengintitialize apa - apa pada waktu object
construction, contoh anda di atas is oke. Setiap object adalah turunan
dari TObject dan TObject punya constructor Create. Artinya semua class
(dalam delphi) otomatis mewarisi constructor create.
 
> Nach..., sebenernya gunanya constructor itu untuk apa ya..., kalo di
> help-nya disebut 'special method that creates and initializes instance
> objects'. Tapi kalau saya bisa langsung seperti yang diatas: MyAnimal :=
> TAnimal.Create; trus ngga perlu lagi constructor lagi kan? Asumsinya bahwa
> Object tersebut sudah di-create dan otomatis sudah terdaftar di memory...

Tapi kan ada variable-variable dari TAnimal yang perlu diinitialize,
jadi kita mesti bikin constructor yang sesuai dengan class yang kita
definisikan.

Contoh:

type
 TJenisMakanan = ( SukaDaging , SukaRumput , SukaSemua );
 TJenisBinatang = ( Carnivora , Herbivora , Omnivora );
 TStrukturPencernaan = class
  ...
  ... // Sorry, saya bukan ahli biologi
 end;
 

TAnimal = class
private
 FJenisBinatang : TJenisBinatang;
 FStrukturPencernaan : TStrukturPencernaan;
public
 constructor Create( Makanan : TJenisMakanan );virtual
 destructor Destroy;override;
 property JenisBinatang : TJenisBinatang read FJenisBinatang;
 property StrukturPencernaan : TStrukturPencernaan;
end;

constructor TAnimal.Create( Makanan : TMakanan );
begin
 inherited Create;   // <-- manggil Create dari TObject

 // Initialize Struktur Pencernaan
 FStrukturPencernaan := TStrukturPencernaan.Create;
end;

destructor TAnimal.Destroy
begin
 FStrukturPencernaan.Free;
end;

.....

HTH,
-- 
Bambang
http://bpranoto.tripod.com
Let's win quizzes!! http://www.itpaystolearn.com/default.asp?ref_id=ADY095

Ok, so what's the speed of dark?


Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke