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 |
|
Třída, objekt, zapouzdření s vlastnostmi
Okolní svět je světem předmětů (objektů), které mají určité vlastnosti a chování. Objektivně orientované programování (OOP) je metoda tvorby programů, která napodobuje způsob, jakým zacházíme s předměty reálného světa. Je založena na pojmu objekt, jako abstrakci reálného objektu, který má určité vlastnosti (atributy) a může provádět definované akce. Příklad každý vymyslí sám. Třeba objekt muž má atributy (barva vlasů, očí, délka .) a může provádět akce (procedury, funkce) jako třeba . :)
Když vezmeme podobné objekty (objekty se stejnými vlastnostmi), můžeme je zařadit do stejné třídy. Příklad.. Třeba muž a žena jsou objekty třídy lidé. Odborněji, muž a žena jsou instancí třídy lidé.
Třída objektů
Jak již asi každého napadne, základem OOP je objekt. Co je to objekt? - Objekt je entita, která má svou identitu (Každý objekt lze jednoznačně odlišit od objektu jiného.) a své vlastnosti (Každý objekt má nějaký vnitřní stav a nějak se chová vůči svému okolí). Každý asi i bez této definice podvědomě tuší, co to objekt je. Objekty jsou například: strom, auto, člověk, ale také datový soubor, okno v grafickém operačním systému, tlačítko v grafickém operačním systému, různé datové struktury jako je pole, fronta, zásobník atd Je zřejmé, že všechny tyto objekty splňují podmínky uvedené v definici. Každý objekt, který má být užitečný, musí poskytovat svému okolí nějaké služby. Například auto se umí rozjet, zastavit atd. Okno v grafickém OS se umí minimalizovat, zavřít, aktivovat, atd. Datový soubor se umí otevřít, zavřít, lze do něj zapsat, lze z něj číst. Uživatel objektu k jednotlivým objektům přistupuje jako k tak zvaným 'černým skříňkám'. Nezajímá se, jakým způsobem objekty služby poskytují, ale zajímá se jen jaké služby poskytují. Například každý ví, co způsobí sešlápnutí brzdového pedálu v autě, ale málokdo by byl schopen přesně popsat, co se v motoru v tom okamžiku přesně děje. Pro zabrždění auta to prostě nemusí vědět. Stejně tak mnoho programátorů (já taky) ve svých programech běžně otevírá i zavírá soubor, ale příliš netuší, co všechno program a operační systém při otevírání souborů provádí. Právě tento přístup 'černých skříněk' k objektům v OOP je dost podstatný. Programátor, který používá objekt, se nestará o to, jak byl naprogramován. Vytvořím-li objekt v OOP, vždy se jedná o jakýsi model objektu reálného světa.
Zapouzdření
Pod tímto pojmem si můžeme představit zabalení vlastnosti a operací do jednoho balíčku, který se nazývá „objekt“. To znamená, že k příslušným vlastnostem a operacím se programátor dostane pouze pomocí rozhraní daného objektu. Pokud je to možné, jediný přístup k vlastnostem objektu by mělo být přes operace (tzn. navenek jsou vidět jenom jeho operace, nikoli jeho vlastnosti).
Zapouzdření je mechanismus, který svazuje dohromady kód a data a zabezpečuje je před vnějšími zásahy či zneužitím. V objektovém programování může být kód s daty slučován takovým způsobem, že vznikají tzv. nezávislé 'černé skříňky'. Spojením kódu s daty vzniká objekt. Jinými slovy lze říci, že objekt je instrument, který podporuje zapouzdření.
Příklad:
type TIdealni = class
private
// zapouzdrene promenne a funkce, tyto polozky jsou viditelne jen v ramci objektu
uhel,rychlost:extended;
function ahoj(cas:extended):extended;
public
// zapouzdrena funkce, která je viditelna i z vnějšku objektu
function gety(cas:extended):extended;
end;
Pozor: Není nutné psát definici třídy do zvláštního unity, stačí do unity, kde píšeme vlastní program.
Význam těch slovíček private, public:
public - všechna data a metody, uvedené v části public, jsou viditelné ze všech ostatních jednotek, tedy jsou viditelné a použitelné z částí programu mimo objekt.
private - žádná data ani metoda, uvedené v této části, nejsou zvnějšku objektu viditelné, tedy částí programu mimo objekt je nemůžeme použít.
protected - data a metody jsou viditelné, ale jen pro potomky dané třídy. Pro ostatní třídy jsou neviditelné. Tzn, že pouze potomek může používat metody a proměnné rodiče.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 516
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved