title: Incr Tcl
text: # Incr Tcl
  
  Incr Tcl est une extension du langage Tcl permettant une sorte de programmation orientée objet. Le nom est un jeu sur C/C++ : en C, ++ est l'opérateur d'incrémentation, ce qui équivaut logiquement à incr en Tcl.
  
  La syntaxe s'inspire, d'une manière générale, de celle de C++.
  
  ## Concepts
  
  Nous supposons connus les principaux concepts de la programmation orientée-objet.
  
  Le concept-clé est la classe, qui comporte des variables d'instance (variable) et des variables communes à toutes les instances (common). Seule une variable commune peut être définie comme un tableau associatif (array).
  
  Les objets instanciés doivent être explicitement détruits, c'est pourquoi une classe peut comporter un constructeur et un destructeur. Une commande spécifique (itcl::local) permet d'éviter cela en déléguant la destruction de l'objet à la désaffectation de la variable le pointant.
  
  Les méthodes (method) et procédures (proc) contenues dans une classe suivent la syntaxe de la commande proc, et peuvent par conséquent prendre un nombre variable d'arguments. La surcharge de méthodes est en effet possible par ce moyen.
  
  Tous les mots-clés susdits peuvent être précédés des qualificatifs suivants :
  
  * private
  * protected
  * public
  
  Incr Tcl permet l'héritage multiple, comme en C++ naturellement.
  
  ## Livres
  
  * (en) Chad Smith and Larry W. Virden, Incr Tcl/Tk from the Ground Up: The Accelerated Track for Professional Programmers, McGraw-Hill Professional Publishing, (ISBN 0-072-12106-8), 1999.
  