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

Třída, objekt, zapouzdření s vlastnostmi

počítačů



+ Font mai mare | - Font mai mic



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ů

'Třída objektů je abstrakce množiny podobných objektů'. Je zřejmé, že některé objekty mají mnoho společných vlastností - jsou stejné třídy. Například objekt, na který se dívám při psaní tohoto textu, má mnoho společných vlastností s objektem, který sledujete vy při čtení tohoto textu - oba jsou třídy monitor. Nebo máte-li nějaký grafický OS, máte patrně na monitoru několik otevřených oken. Každé okno je objekt. Každý objekt vypadá jinak - každé okno zobrazuje něco jiného, přesto jsou si nějak podobné. Všechny objekty jsou stejné třídy. Každý objekt je nějaké třídy. Je-li objekt nějaké třídy, nazývá se instancí této třídy. Každá třída může mít libovolný počet instancí. Dále ve svých článcích budu místo pojmu objekt používat spíše pojem instance. Budu tím myslet objekt třídy, která je zřejmá, nebo kterou uvedu

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 474
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