Perl, Objektově orientované programování (49.díl)

Napsal O webu (») 10. 8. 2008 v kategorii Programování, přečteno: 1649×
obrazky/logo_perl.jpg

Implementace objektů



Objekty


Objekty jsou datové struktury, jež obsahují atributy a musejí vědět, do které objektové třídy patří. Protože se může jednat o libovolnou datovou strukturu, tak aby bylo možné jednotně pracovat se všemi objekty bez ohledu na to, jak jsou jejich atributy uloženy, pracuje se s odkazy na tuto strukturu. Pomocí jednoho skaláru a odkazů je totiž možné uchovávat množství dat v libovolně rozsáhlých strukturách. Objekt je tedy odkazovaný obsah a pro práci s objektem se používá reference odkazující na tento obsah.


Atributy


V Perlu není počet a typ atributů objektu přesně definován. Definice atributů tedy není součástí definice třídy objektů. Objekt jakékoliv třídy může mít obecně žádný, jeden nebo více atributů. Máme-li uchovat několik hodnot, zvolíme seznamovou datovou strukturu — pole nebo hash. Nejvýhodnější je hash - může obsahovat libovolné množství hodnot, pomocí řetězcových klíčů k nim lze srozumitelně přistupovat, hodnoty lze jednoduše libovolně přidávat a odebírat.


Metody


Metody objektů jsou obyčejné podprogramy. Mohou přijímat seznam argumentů, mohou vracet seznam hodnot, často v nich probíhá modifikace vlastností objektů. Podprogramy v Perlu nejsou vztaženy k určité datové struktuře, a tak je třeba jim říci, s jakým konkrétním objektem mají pracovat nebo ke které třídě se vztahují. Proto je vždy prvním argumentem podprogramu představujícího metodu odkaz na určitý objekt (v případě, že se jedná o metodu objektu) nebo řetězec představující jméno třídy objektu (jedná se o metodu třídy).


Třídy objektů


Třída objektů je tedy balík, kde jsou definovány metody. Tím, že objekt ví, z jaké třídy byl odvozen, ví také, z jakého balíku má volat podprogramy. Aby bylo možné objektové třídy opětovně použít, je vhodné umístit je do modulu, který může být pomocí "use" nebo "require" vtažen na příslušné místo. Modul může poskytovat buď standardní rozhraní pomocí exportu a importu symbolů nebo objektové rozhraní pomocí definice objektové třídy a používání metod této třídy. Oba typy rozhraní modulu je samozřejmě možné kombinovat dohromady.


A to by bylo pro dnešek všechno. V dalším díle se podíváme na tvorbu objektů. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.


Autor: Robert Habrman
Štítky: Perl
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel tři a osm