如果您查看类的规范,我相信这就是 itcl 的工作方式:
itcl::class className {
inherit baseClass ?baseClass...?
constructor args ?init? body
destructor body
method name ?args? ?body?
proc name ?args? ?body?
variable varName ?init? ?config?
common varName ?init?
public command ?arg arg ...?
protected command ?arg arg ...?
private command ?arg arg ...?
set varName ?value?
array option ?arg arg ...?
}
className objName ?arg arg ...?
objName method ?arg arg ...?
className::proc ?arg arg ...?
您可以看到 private/protected 可以应用于命令,但不能应用于构造函数或析构函数。在这里查看有关itcl 设计模式的文档也可能会提供一些关于如何实现接近私有构造函数的东西的线索。