Reintroduce/fi

From Lazarus wiki
Jump to navigationJump to search

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

Määritettä (modifier) reintroduce käytetään olio-ohjelmoinnissa. Määrite reintroduce mahdollistaa vanhemman (kanta) luokan metodin piilottamisen uudella metodilla, jolla on sama nimi. Toisin sanoen luokassa on nyt uusi metodi, joka on peräisin tästä luokassa. Vanhemman luokan metodi säilyy ja sitä voi silti käyttää.

Kantaluokan metodia ei enää ole olemassa uudessa luokassa, vaan se on korvattu uudella metodilla, jolla on sama nimi. Metodi säilyy alkuperäisessä muodossa vanhemmassa luokassa ja sitä voidaan käyttää vanhemman luokan kautta.

Esimerkki:

interface

type
  TParentClass = class
    procedure SetTest(intNum: Integer); // Jokin metodi
  end;

  TDerivedClass = class(TParentClass)
    procedure SetTest(strName: String); reintroduce; // Tämä korvaa vanhemman luokan metodin.
  end;

implementation

procedure TDerivedClass.SetTest(strName: String);
begin
  inherited SetTest(1); // kutsutaan samalla nimellä vanhemman luokan metodia tarvittaessa
end;