1.什么是对象
对象是数据(属性)和程序(方法)封装在一起的实体
2.创建对象
2.1 创建对象
Obj_New()
用来创建某一特定类的对象
2.2 创建对象数组
Obj_Arr()
用来创建对象数组
2.3 创建方法
Result=Obj_New([ObjectClassName [Arg1 ,……Argn]])
或者,从IDL8.0版本以后,可以用对象类名函数的方式创建对象:
Result=ObjectClassName()
3.调用对象
调用对象即调用对象中的方法,对象方法包括过程(Procedure)方法和函数(Function)方法,两者的调用格式不同
3.1 调用过程方法
调用格式为:
obj.procedure_name,Argument,[optional_Argument]
or
obj->procedure_name,Argument,[optional_Argument]
3.2调用函数方法
调用格式为:
obj.Function_name,Argument,[optional_Argument]
or
obj->Function_name,Argument,[optional_Argument]
4.销毁对象
用obj_Destroy
来销毁对象
obj_Destroy,objRef, [,Arg1,…,Argn]
5.相关函数
5.1 Obj_CLASS函数
用来获得对象的基类或继承类名称
IDL> oWindow=Obj_New('IDLgrWindow',Dimension=[300,300])
IDL> print,Obj_Class(oWindow)
IDLGRWINDOW;获得了对象的基类为grWindow
5.2 Obj_Isa函数
该函数用来判断对象是否是某个类的实例
IDL> print,Obj_Isa(oWindow,"IDLgrWindow")
1
IDL> print,Obj_Isa(oWindow,"IDLgrImage")
0
5.3 Obj_Valid函数
IDL> print,Obj_Valid(oWindow)
1
IDL> Obj_Destroy,OWindow
IDL> print,Obj_Valid(oWindow)
0