Sign in Join
Wiki copytemporary

Inherited/fi: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Inherited/fi

OldNewLine
1+Ylikirjoitetussa virtuaali[[Method/fi|metodissa]] on usein tarpeen kutsua virtuaalimenetelmän vanhemman [[Class/fi|luokan]] toteutusta. Tämä voidaan tehdä `inherited` [[Reserved word/fi|varatulla sanalla]]. Samoin `inherited`-[[Keyword/fi|avainsanaa]] voidaan käyttää missä tahansa vanhemman luokan metodissa.
2+
3+Tämä tapaus on yksinkertaisin:
4+
5+``` pascal
6+Type
7+ TMyClass = Class(TComponent)
8+ Constructor Create(AOwner : TComponent); override;
9+ end;
10+
11+Constructor TMyClass.Create(AOwner : TComponent);
12+begin
13+ Inherited;
14+ // tehdään lisää asioita
15+end;
16+```
17+
18+## Rakentajien ja purkajien tapaukset
19+
20+[[Constructor/fi|Rakentaja constructor]], esimerkki 1 :
21+
22+``` pascal
23+ ...
24+ TTest.Create;
25+ begin
26+ inherited; // Aina rakentajien alussa. Aloittaa vanhemman luokan rakentamisen
27+ ...
28+ end;
29+```
30+
31+Rakentaja eli `constructor` esimerkki 2 :
32+
33+``` pascal
34+ ...
35+ TTest.Create(...);
36+ begin
37+ Inherited Create(...); // Aina rakentajien alussa. Aloittaa vanhemman luokan rakentamisen
38+ ...
39+ end;
40+ ...
41+```
42+
43+[[Destructor/fi|Purkaja destructor]] esimerkki 3 :
44+
45+``` pascal
46+ TTest.Destroy;
47+ begin
48+ ...
49+ inherited; // Aina purkajan lopussa ja aloittaa vanhemman luokan purkajan
50+ end;
51+ ...
52+```
53+
54+---
55+*From the Free Pascal wiki, page "Inherited/fi", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history