Moose: Porovnání verzí

Přidáno 436 bajtů ,  před 9 lety
m
doplnění vysvětlivek
m (→‎02. Atributy: prohození ř. 7/8)
m (doplnění vysvětlivek)
Když už vytváříme takovéto kočky, bylo by dobré, aby samy kočky věděly, jak se jmenují a mohly se nám na požádání třeba představit. Tedy všechny kočky (tj. třída koček) by měla mít nějaký šuplíček, kam by se ukládalo jméno té které kočky. A pak třeba její věk (kolik je jí let) a jestli třeba nemá nějakou dietu (třeba vytváříme databázi pacientů v kočičí nemocnici).
 
Tyto tzv. ''atributy'' (někdy se jim říká ''stav'' anebo prostě data dané instance) se v ''Mose'' přikládají funkcípomocí funkce <tt>has()</tt>; zde je možné rovněž určit, jestli je možné tento atribut dále měnit a jaký typ proměnné bude použit, což představuje určitý typ kontroly nad tím, jak budeme moci s objektem nakládat.
 
<source lang='perl' line>
* 13. atribut ''dieta'' je read/write a není řečeno, jaký typ proměnné to bude
* 16. vytvoříme tlusťocha, který se jmenuje ''Tlusťoch'', je mu 8 let a má speciální dietu
* 18. vypíšeme výše zadané informace o tlusťochovi a to pomocí samočinně vytvořených metod (kterým se říká ''akcesory''), které se volají ''bez argumentů'' (prázdné závorky)
* 20. změníme mu dietu pomocí metody ''dieta'', která se automaticky vytvořila právě z účelem změny atributu; formálně je shodná s akcesorem, akorát že se volá s příslušným argumentem; takové metodě se pak říká ''mutátor''
* 20. změníme mu dietu
* 21. znovu vypíšeme status
 
11 978

editací