Tcl Object Oriented Programming
詳しい説明は他のサイトのページを参照。
package require TclOO
oo::class create CA {
variable m_name
constructor args {
set m_name "No name"
# 自オブジェクトの変数を指定する
pack [label .e -textvariable [my varname m_name]]
}
destructor {
}
# メソッドは小文字で始まるとpublic扱い
method name { name args } {
if {[llength $args] > 0} {
set m_name [lindex $args 0]
# 自クラスのメソッドを呼び出す場合は、[self]を指定
[self] update
}
return $m_name
}
method update { } {
# update
}
}
oo::class create CB {
# 継承
superclass CA
# 継承元から使いたい変数を定義
variable m_name
}
# オブジェクト作成
set obj [CB new]