incr Tcl

lenguaje de programación

[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++.

Eclipse corriendo el ejemplo de incr Tcl.

Ejemplo

#ejemplo.tclpackage require Itcl#Se crea la clase Personaitcl::class Persona {private variable apellidosprivate variable nombresprivate variable edad 18public variable nacimiento 1984constructor {vapellidos vnombres} {set apellidos $vapellidosset nombres $vnombresputs "¡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 PersonaPersona 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 esMayorif {[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 nacimientoputs "[unainstancia nombrecompleto] nació en el año [unainstancia cget -nacimiento]."#Se invoca al método saludounainstancia saludo "la Costa Azul"# Se destruye la instancia de la clase Personaitcl::delete object unainstancia# Se destruye la clase Persona, esta clase ya no estará disponible en adelanteitcl::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