Incr Tcl

Incr Tcl

incr Tcl

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

#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

Obtenido de "Incr Tcl"

Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Incr Tcl — Tcl Skriptsprache mit Bytecode Interpreter Basisdaten Paradigmen: imperativ, funktional …   Deutsch Wikipedia

  • Incr Tcl — (ITCL) первое из объектно ориентированных расширений языка TCL. Частично реализовано на языке Си. С его использованием написана библиотека графических виджетов incr Widgets (iWidgets). Название этого расширения является своего рода «переводом»… …   Википедия

  • 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… …   Wikipédia en Français

  • incr Tcl — 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… …   Wikipedia Español

  • Tcl — Skriptsprache mit Bytecode Interpreter Basisdaten Paradigmen: imperativ, funktional, generativ …   Deutsch Wikipedia

  • TCL — Skriptsprache mit Bytecode Interpreter Basisdaten Paradigmen: imperativ, funktional …   Deutsch Wikipedia

  • Tcl/Tk — Tcl Skriptsprache mit Bytecode Interpreter Basisdaten Paradigmen: imperativ, funktional …   Deutsch Wikipedia

  • TCL — Семантика: императивный, скриптовый Тип исполнения: интерпретатор Появился в: 1988 г. Автор(ы): Джон Остераут Последняя версия: 8.5.7 / 15 апреля 2009 …   Википедия

  • Tcl — Tool Command Language Desarrollador(es) Tcl Core Team[1] …   Wikipedia Español

  • TCL/TK — Tool Command Language Pour les articles homonymes, voir Tcl. Apparu en 1988 …   Wikipédia en Français

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”