Difference between revisions of "Inherited/fi"
From Free Pascal wiki
Jump to navigationJump to searchm (Fixed syntax highlighting) |
|||
Line 3: | Line 3: | ||
Ylikirjoitetussa virtuaali[[Method/fi|metodissa]] on usein tarpeen kutsua virtuaalimenetelmän vanhemman [[Class/fi|luokan]] toteutusta. Tämä voidaan tehdä | Ylikirjoitetussa virtuaali[[Method/fi|metodissa]] on usein tarpeen kutsua virtuaalimenetelmän vanhemman [[Class/fi|luokan]] toteutusta. Tämä voidaan tehdä | ||
− | <syntaxhighlight lang="pascal" | + | <syntaxhighlight lang="pascal" inline>inherited</syntaxhighlight> [[Reserved word/fi|varatulla sanalla]]. Samoin <syntaxhighlight lang="pascal" inline>inherited</syntaxhighlight>-[[Keyword/fi|avainsanaa]] voidaan käyttää missä tahansa vanhemman luokan metodissa. |
Tämä tapaus on yksinkertaisin: | Tämä tapaus on yksinkertaisin: | ||
Line 23: | Line 23: | ||
== Rakentajien ja purkajien tapaukset == | == Rakentajien ja purkajien tapaukset == | ||
− | [[Constructor/fi|Rakentaja <syntaxhighlight lang="pascal" | + | [[Constructor/fi|Rakentaja <syntaxhighlight lang="pascal" inline>constructor</syntaxhighlight>]], esimerkki 1 : |
<syntaxhighlight lang=pascal> | <syntaxhighlight lang=pascal> | ||
... | ... | ||
Line 33: | Line 33: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Rakentaja eli <syntaxhighlight lang="pascal" | + | Rakentaja eli <syntaxhighlight lang="pascal" inline>constructor</syntaxhighlight> esimerkki 2 : |
<syntaxhighlight lang=pascal> | <syntaxhighlight lang=pascal> | ||
... | ... | ||
Line 44: | Line 44: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[Destructor/fi|Purkaja <syntaxhighlight lang="pascal" | + | [[Destructor/fi|Purkaja <syntaxhighlight lang="pascal" inline>destructor</syntaxhighlight>]] esimerkki 3 : |
<syntaxhighlight lang=pascal> | <syntaxhighlight lang=pascal> | ||
TTest.Destroy; | TTest.Destroy; |
Latest revision as of 17:27, 6 August 2022
│
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;
...