- incr Tcl
-
[incr Tcl] o itcl es una extensión del lenguaje de programación Tcl para darle soporte de programación orientada a objetos. Su nombre hace referencia al operador incremento de Tcl, así como C++ utilizaba el operador de incremento para la extensión de C. La sintaxis de la programación de objetos se inspira mayormente en la de C++.
Ejemplo
#ejemplo.tcl package require Itcl #Se crea la clase Persona itcl::class Persona { private variable apellidos private variable nombres private variable edad 18 public variable nacimiento 1984 constructor {vapellidos vnombres} { set apellidos $vapellidos set nombres $vnombres puts "¡Bienvenido, $nombres $apellidos!" } method setEdad {vedad} { set edad $vedad } method getEdad {} { return "$edad" } method saludo {lugar} { puts "¡Buen día, $nombres!" if {$lugar != ""} { puts "Nosotros estamos en $lugar" } } method esMayor {} { expr {$edad>=18} } method nombrecompleto {} { return "$nombres $apellidos" } } #Se crea una instancia de la clase Persona Persona unainstancia Hernández José #Se fija la edad como 16 (encapsulamiento de edad) unainstancia setEdad 16 #Se fija el nacimiento modificando la variable publica nacimiento (sin encapsular) unainstancia configure -nacimiento [expr 2009 - [unainstancia getEdad]] #Evalua el resultado del métoco esMayor if {[unainstancia esMayor]} { puts "[unainstancia nombrecompleto] es mayor." } else { puts "[unainstancia nombrecompleto] es menor, ya que tiene [unainstancia getEdad] años." } #Se obtiene el valor de la variable publica nacimiento puts "[unainstancia nombrecompleto] nació en el año [unainstancia cget -nacimiento]." #Se invoca al método saludo unainstancia saludo "la Costa Azul" # Se destruye la instancia de la clase Persona itcl::delete object unainstancia # Se destruye la clase Persona, esta clase ya no estará disponible en adelante itcl::delete class Persona
Como resultado:
$ tclsh ejemplo.tcl ¡Bienvenido, José Hernández! José Hernández es menor, ya que tiene 16 años. José Hernández nació en el año 1993. ¡Buen día, José! Nosotros estamos en la Costa Azul
Enlaces externos
- Sitio oficial Itcl/incr Tcl (en inglés)
Categorías:- Lenguajes interpretados
- Lenguajes de programación orientada a objetos
Wikimedia foundation. 2010.