2009年3月24日星期二

OTcl类-结构、定义、继承

关键字

Class--创建一个类(object class)

instproc--定义类的成员函数

instvar--定义类的成员变量,首先检查变量在此类和父类中已声明(declare),是则引用(reference),否则声明

-superclass--类继承,父类

$self——相当于C++中的this指针

new--创建一个类对象(object instance)


示例:

# add a member function call "great"
Class mom
mom instproc greet {} {
$self instvar age_
puts "$age_ year old mom say:
How are you doing?"
}

# Create a child class of "mom" called "kid"
#and overide the member function "greet"
Class kid -superclass mom
kid instproc greet {} {
$self instvar age_
puts "$age_ year old kid say:
What's up, dude?"
}

#Create a mom and a kid object, set each age
set a [new mom]
$a set age_ 45
set b [new kid]
$b set age_ 15


#Calling member function "greet" of each object
$a greet
$b greet

#end

(参考ns by example ex-otcl.tcl)