创建一个类的实例对象,TSL中提供了两种方式:
方式一:调用
CreateObject函数进行创建;
CreateObject(<classname:String|ClassType>[,P1,P2…]):TSLObject
用类名字符串或者用一个类类型来创建一个类的对象,返回新建对象的引用。
方式二:使用
New关键字方式进行创建:
New ClassName([P1,P2…]):TSLObject
和CreateObject类似,但ClassName不再需要是一个字符串,而是直接写出类名即可,在类名后用(),括号里可以加入构造函数的参数。
注意:类名两端的括号不能省略,可使用字符串常量,也可以使用字符串变量。
也可以使用类类型作为对象的构造,类类型可以用class(classname)以及findclass等来获得。
如果要创建类Person的实例,写法可以是以下两种方式:
Obj:=CreateObject('person');
obj:=new person();
如果类的构造器有参数,则需要把参数列表一起传给CreateObject函数,如给类Person的实例构造时指定两个属性:
Obj:=CreateObject('person',"zhangfei",25);
obj:=new person("zhangfei",25);
可以把对象的引用赋值给另外一个变量Obj2 := Obj1;
这时Obj2和Obj1指向同一个实例,而不是2个实例。