ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Trieda (programovanie) - Wikipédia

Trieda (programovanie)

Z Wikipédie

Trieda je základným stavebným prvkom v objektovo-orientovanom programovaní. Logicky spája dve časti, ktoré boli predtým chápané osamote: dáta a operácie nad nimi do jedného celku. Trieda vychádza z pozorovaní reálneho sveta, v ktorom existujú skupiny objektov s určitými vlastnosťami, pričom tieto vlastnosti menia práve tieto objekty.

Trieda je teda balíček, ktorý pozostáva z metadát popisujúcich chovanie triedy vo výpočtovom prostredí. Tieto metadáta predstavujú návod na vytvorenie inštancie - jedného exemplára triedy. Ak použijeme prirovnanie z reálneho sveta, tak trieda predstavuje architektonický plán budovy (popisuje rozmery, tvar, použitý materiál atď) a inštancia je jedna konkrétna budova, postavená podľa tohto plánu.

Tieto popisné metadáta sú len formálnym vyjadrením toho, čo trieda predstavuje (napríklad vo forme zdrojového kódu). Po preložení prekladačom, resp. interpreterom jazyka sa z týchto informácií vytvára dátový typ - popis triedy v rámci výpočtového prostredia.

Základným prvkom triedy sú dáta, s ktorými pracuje - niekedy sa označujú ako stavové dáta, pretože jednoznačne určujú stav objektu v každom čase jeho existencie. Druhým prvkom sú operácie nad týmito dátami, ktoré definujú možné operácie nad objektom a predstavujú rozhranie s prostredím.

[upraviť] Štruktúra

UML notácia triedy
UML notácia triedy

Každý element triedy (dáta aj metódy) musí mať definovaný modifikátor prístupu, ktorý určuje, kto má k danému elementu povolený prístup, pričom platí, že každá trieda má prístup ku všetkým vlastným elementom. Základné modifikátory sú:

Prístupové modifikátory
Názov UML prefix Prístup z oddedenej triedy Prístup z vonkajšej triedy
public + áno áno
protected # áno nie
private - nie nie

V ďalšom texte budeme pre označenie prístupu používať UML notáciu uvedenú v tabuľke. Napríklad pre protected premennú typu int môžeme zapísať nasledovným spôsobom:

 # x : int

Po vytvorení dátového typu prekladač definuje ešte špeciálnu premennú, ktorá reprezentuje identitu objektu. Táto premenná býva označovaná ako this, self a podobne a obsahuje referenciu alebo ukazateľ na samého seba. Táto premenná je vždy definovaná ako private.

Príklad

Jednoduchým príkladom je trieda lampa. Lampu v závislosti na kontexte môžeme modelovať napríklad ako triedu, ktorá má jednu stavovú premennú (_IsTurnedOn), ktorá určuje, či je lampa zapnutá, alebo nie. Pretože trieda potrebuje aj rozhranie, pomocou ktorého s ním bude okolité prostredie komunikovať, definujme operácie zapnutia (TurnOn) a vypnutia (TurnOff). Okrem toho je vhodné mať možnosť zistiť, v akom je lampa stave - tento stav vieme zistiť pomocou operácie isTurnedOn.

[upraviť] Dedičnosť

Objektovo-orientované programovanie umožňuje mechanizmus dedičnosti tzn. modelovanie hierarchií na základe podobnosti vlastností rovnako, ako v reálnom svete. Táto vlastnosť je modelovaná hierachickými vzťahmi medzi triedami.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -