Incr Tcl

Incr TCL (ITCL) je první z objektově orientovaných rozšíření jazyka TCL . Částečně implementováno v jazyce C. S jeho využitím je napsána knihovna grafických widgetů incr Widgets (iWidgets). Název tohoto rozšíření je jakýmsi „překladem“ názvu C++ do jazyka Tcl , příkaz incr , stejně jako operace ++ , zvyšuje svůj argument o 1.

Spolu s XOtcl a SNIT je jedním ze tří nejoblíbenějších objektově orientovaných rozšíření Tcl [1] .

Příkazy

ITCL - definuje následující příkazy:

Příklad definice třídy

Jako příklad je uveden obal objektu nad textovými soubory Tcl. Ukazuje použití konfigurátorů.

soubor třídy { # popsat a nastavit počáteční hodnoty # místních proměnných soukromá proměnná fid "" název veřejné proměnné "" přístup veřejné proměnné "r" # define konstruktor a destruktor konstruktor { args } { eval configure $args # configure aktivuje konfigurátory } destruktor { if { $fid != "" } { zavřít $fid } } #describe metody třídy metoda get {} metoda put { řádek } metoda eof {} } # definovat těla metod body Soubor::get {} { return [ get $fid ] } body File::put { line } { vloží $fid $line } body Soubor::eof {} { návrat [ :: eof $fid ] } # definovat konfigurátor pro # název globální proměnné # konfigurátor pro přístup není vytvořen configbody File::name { if { $fid != "" } { zavřít $fid } nastavit fid [ otevřít $name $access ] } # # třída Soubor v akci: # # vytvořte soubor x objekt #configure jeho název x configure - name / etc / passwd #zobrazení obsahu souboru řádek po řádku, zatímco { ! [ xeof ] } { vloží "=> [x get]" } #delete object odstranění objektu x

Různí členové třídy jsou popsáni pomocí následujících příkazů dostupných v definici třídy: konstruktor , destruktor , metoda , proc (na rozdíl od metody se nedědí), proměnná , společný (podobně jako static v C++), public , protected , private , set a array . Dědičnost se nastavuje příkazem inherit . Vícenásobná dědičnost je povolena. Všechny metody jsou virtuální. Při definování třídy můžete použít techniky metaprogramování , například k definování několika lokálních proměnných ve smyčce spolu s přístupovými objekty set and get k nim [3] .

Složené příkazy

Složený tým (nebo soubor) je definován jako:

název souboru comp příkaz arg arg ...

nebo

složení názvu souboru { název částiArgumenty části tělo název souboruSubConst { název části Argumenty podčásti tělo } }

Soubory Tcl jsou pohodlným syntaktickým doplňkem ke standardnímu mechanismu souboru jmenného prostoru Tcl . Tento mechanismus umožňuje seskupit několik příkazů do jednoho jmenného prostoru - souboru. Volání příkazu - část souboru vypadá takto:

nameConst argumenty nameParts

Konstruktů souboru se stejným názvem může být libovolný počet , všechny v nich definované části budou zahrnuty do stejného souboru [4] .

Odkazy

Viz také

Poznámky

  1. Clif Flynt. Ch. 9. Základní objektově orientované programování v Tcl // Tcl/Tk: Příručka pro vývojáře. — 3. vydání. - Elsevier, 2012. - S. 263. - 792 s. — ISBN 978-0-12-384717-1 .
  2. podrobnosti o implementaci viz man itcl::scope Archivováno 2007-02-20 na Wayback Machine
  3. viz Automatické metody get/set pro třídu itcl Archivováno 7. října 2007 na Wayback Machine
  4. přirozené chování jmenného prostoru

Literatura

  • Chad Smith. Incr Tcl/Tk od základu. - Osborne / McGraw-Hill, 2000. - 746 s. — ISBN 0-07-212106-8 .
  • Clif Flynt. 17.1 [incr Tcl] // Tcl/Tk: Příručka pro vývojáře . - Elsevier, 2012. - S. 667-670. — 817 s. — ISBN 9780123847188 .