next up previous contents index
Next: V/V Up: Metody Previous: Metody   Obsah   Index


Metody instance

Metody instancí se používají výhradně k manipulaci s objekty. Tyto musejí být definovány ve třídě a zapouzdřený v definici třídy. Metoda instance v Plutu sestává ze dvou částí: definice typu a implementace:

[public|private] $op(\tau_1, ...,\tau_n) \Rightarrow \tau
\{definice\_pravidel\}$

kde $op(\tau_1, ...,\tau_n) \Rightarrow \tau$ je definice typu, která specifikuje $op$, což je jméno metody, typy argumentů metody $\tau_1,...,\tau_n$ a typ výsledku metody $\tau$. Podstatnou částí definice je $op(\tau_1,...,\tau_n)$, která bývá nazývána podpisem (signaturou) metody a tato musí být unikátní v rámci třídy. Pokud je typ $\tau$ void můžeme jej při deklaraci vynechat a psát pouze $op(\tau_1,...,\tau_n)$; nemá-li metoda žádné argumenty, musíme přesto psát $op()
\Rightarrow \tau$, abychom tento zápis odlišili od definice atributů. V části definice pravidel je popsána imlementace jednotlivých metod.

Metody instancí můžeme rozdělit v Plutu na pět druhů: V/V, vyvozovací (deduction), aktualizace (updates), konstruktory a vytváření objektů.



Subsections

Tomáš Kubíček 2002-05-19