Inherited/fi

From Lazarus wiki

Deutsch (de) English (en) suomi (fi) français (fr)


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;
  ...