可以通过定义单独文件的方式来定义IDL类, 比较容易管理, 定义的方式是:
pro <芹仿ClassName>__define
struct = {<className>, ...}
end
文件名是:<ClassName>__define.pro
在这个文件中, 还可以添加类成员函数的定义, 如:
pro <className>::hello
...
end
IDL不区分大小写, 所以类名/函绝袭数名/关键字等均可以不受大小写的限制
IDL对类提供一些专门的成员函数, 完成专用的任务. 比如: INIT为构造函数, CLEANUP为析构函数(在对象被释放时调用, 比如OBJ_DESTROY函数). 但是这些函数不能在外部被调用, 但是可以在函数内部看到, 主要是为了手工调用, 以实现父类的初始化函数被调用(IDL不会自动调用父类的INIT函数)
INIT函数可以带参数, 可以在调用OBJ_NEW生成对象时传入.
OBJ_NEW函数的调用形式如下:
Result = OBJ_NEW( [ObjectClassName [, Arg1......Argn]] )
IDL的函数和过程参数可以不完整, 比如函数A定义了5个参数, 可以用0-5个参数来调用. 对调用的参数情况可以用N_PARAMS和N_ELEMENTS来判断, 前者可以得到实际的调用参数的个数, 后者可以判断某个参数是否有值
sub Test::INIT, caption
print, N_PARAMS() 返回参与调用的参数个数
print, N_ELEMENTS(caption) 返回1为有值, 返回2为未定义
...
end
可以定义多个同名函数, 但只有最晚定义的那个有效, 前面的会被隐藏
作者董彦卿是ESRI中国信息技术有限公司遥感事业部高级咨询师,目前主要从事ENVI/IDL软件应用、遥感技术支持与咨询以及软件应用与推广工作,具备四年ENVI/IDL遥感应用培训主讲经验;曾负责多个IDL系统开发与ENVI二次开发项目,具有丰富的研发经验。ENVI是使用IDL语言编写的优秀的遥感影像处理平台,用户可以很方便的通过IDL语言以及ENVI提供的二次开发工具对ENVI的功能进行增强,添加新的功能函数。二次开发模式(批处理模式)将常用处理编写成为IDL程序,常用于 *** 作的批量处理;在该模式下, 用户能够通森辩过调用ENVI的非交烂春缓互函数,实现绝大多数ENVI的功能;用户可以编写自己的应用程序界面,而在后台使用ENVI来遥感影像处理分析功能; 《IDL程序设计:数据可视化与ENVI二次开发》从IDL工作平台、IDL代码编写、语法基础等讲起,针对结构体、指针、对象、链表、程序控制与优化进行了详细讲解。Esri中国(北京)有限公司工程师董彦卿从教会初学者编写第一个程序入手,帮助学习者掌握IDL编译器的使用方法,以及如何运行代码和发布程序。详细介绍了IDL变量定义与使用、运算符使用、程序控制等语法基础和程序基础,传授高效率编程经验。针对大家经常会遇到的JPG、TIFF等常用图像格式的读写饥模 *** 作,工程师演示了I/O函数的使用,并做了科学数据读取读写的专题介绍。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)