Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

BiologieBudovaChemieEkologieEkonomieElektřinaFinanceFyzikální
GramatikaHistorieHudbaJídloKnihyKomunikaceKosmetikaLékařství
LiteraturaManagementMarketingMatematikaObchodPočítačůPolitikaPrávo
PsychologieRůznéReceptySociologieSportSprávaTechnikaúčetní
VzděláníZemědělstvíZeměpisžurnalistika

Dědičnost a kompatibilita typů

počítačů



+ Font mai mare | - Font mai mic



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;

Kompatibilita typů

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 508
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved