CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
Dědičnost a kompatibilita typů
Dědičnost
je proces, při němž může jeden objekt získat vlastnosti jiného objektu. Přesněji řečeno objekt může zdědit obecnou sadu vlastností a do ní může přidat takové vlastnosti, které jsou specifické pouze pro něj. Dědičnost je důležitá, protože dovoluje objektu podporovat koncept hierarchické klasifikace.
Příklad: Popis domu. Dům je částí obecné třídy nazvané budova. Budova je zase částí obecnější třídy nazvané stavba, která je opět součástí obecné třídy objektů nazvané zhotovené člověkem.
Třída potomka dědí veškeré vlastnosti spojené s rodiči a přidává si k nim své vlastní charakteristiky. Bez využití uspořádané klasifikace, by měl každý objekt definovány všechny charakteristiky, které se k němu vztahují. Prostřednictvím dědičnosti je možné zadat třídu (či třídy) do níž daný objekt patří a přiřadit mu specifické vlastnosti, které mají všechny objekty dané třídy.
// rodic
type TIdealni = class
private
a,b,c:integer;
public
property in_a: extended write a;
function vypocitej_ideal(cas:extended):extended;
end
// potomek dedi vlastnosti rodice + dalsi prida parametry
type TRealne = class(TIdealni)
private
d,e:integer;
public
property in_d: extended write d;
property in_e: extended write e;
function vypocitej_real(cas:extended):extended;
end;
Bez použití dědění vlastností TIdealni by třída Trealne vypadala takto:
type TRealne = class
private
a,b,c,d,e:integer;
public
property in_a: extended write a;
property in_d: extended write d;
property in_e: extended write e;
function vypocitej_ideal(cas:extended):extended;
function vypocitej_real(cas:extended):extended;
end;
Z předchozího textu je zřejmé, že potomek obsahuje všechno, co obsahuje rodič (a případně ještě něco navíc). Kdybychom tedy přiřazovali z potomky do rodiče, můžeme rodiče beze zbytku naplnit a ještě zbyde něco navíc, co nepoužijeme. Naproti tomu, kdybychom se pokusili obsah rodiče přiřadit do potomka, nebude jasné, čím některé části naplnit. Z toho plyne závěr, že přiřazení potomka do rodiče je možné, zatímco přiřazení z rodiče do dcery je chybou.
Tedy platí pro vzájemné přiřazování typů:
rodic := rodič OK
rodic : = potomek OK
potomek := potomek OK
potomek := rodi NEJDE
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 508
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved