Inherited/fi
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
Ylikirjoitetussa virtuaalimetodissa on usein tarpeen kutsua virtuaalimenetelmän vanhemman luokan toteutusta. Tämä voidaan tehdä
inherited
varatulla sanalla. Samoin inherited
-avainsanaa voidaan käyttää missä tahansa vanhemman luokan metodissa.
Tämä tapaus on yksinkertaisin:
Type
TMyClass = Class(TComponent)
Constructor Create(AOwner : TComponent); override;
end;
Constructor TMyClass.Create(AOwner : TComponent);
begin
Inherited;
// tehdään lisää asioita
end;
Rakentajien ja purkajien tapaukset
Rakentaja constructor
, esimerkki 1 :
...
TTest.Create;
begin
inherited; // Aina rakentajien alussa. Aloittaa vanhemman luokan rakentamisen
...
end;
Rakentaja eli constructor
esimerkki 2 :
...
TTest.Create(...);
begin
Inherited Create(...); // Aina rakentajien alussa. Aloittaa vanhemman luokan rakentamisen
...
end;
...
Purkaja destructor
esimerkki 3 :
TTest.Destroy;
begin
...
inherited; // Aina purkajan lopussa ja aloittaa vanhemman luokan purkajan
end;
...