incr Tcl

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Eclipse corriendo el ejemplo de 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[editar]

#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[editar]