频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

sas scl程序设计使用技巧-面向对象的程序设计

来源: 作者: 出处:巧巧读书 2006-05-22 进入讨论组
  • 关 键 词:
  • sas

精华网络内容 :http://www.qqread.com/network/

sas  scl程序设计使用技巧-面向对象的程序设计

(注意,SAS8版以后才支持OOP)

SCL是SAS的程序控制语言,
同样具有高级语言的一些特性,支持面向对像的程序设计,下面介绍一下怎么用SAS生成类,对象,以及对象的调用

1、先新建一SCL文件,输入如下结构的代码
class 类名;
 /*属性定义*/
 public ...;
 private ...;
 /*方法定义*/
 方法名:public method 参数...;
 ....
 endmethod;
endclass
这样,一个类的框架基本完成,如另存为c_test文件,然后编译该文件,最后注意要选择菜单栏的【另存为类】,这样就生成了c_test.class文件  
SAS的类也支持类继承、方法重载等技术
比如可以在同一个类里写同一个方法,只要参数不同就行,无需特殊标注
类继承使用下面语法
 class 子类名 extends 父类名;
 ...
 endlcass;
 这样就可以使用父类的所有非私有的方法和属性
 如想重载父类的方法,可使用如下语法
  父类方法:public method  参数 /(state='o');
   ...
   _super(..);
  endmethod;
  注意,方法后加上了(state='o')关键字,如想在子类的重载的方法中调用父类的同名方法,使用_super()关键字
要初始话类的属性,可使用一下两种方法
 1。直接在属性上赋值,语法如下,类如
    Public  List  ShowInfoList /(Initialvalue={1,2,3,4})
    其中使用了Initialvalue关键字
 2。应用类的方法
  类生成对像前会调用构造函数,该构造函数的名称应更类名相同,如
     C_test:METHOD  ;
     ..
     endmethod;
     注意,没有返回值
  故可已在该方法中初始化属性值,注意,如果父类中已经存在该构造函数,需要重载构造函数
    
要在对象结束是释放一些全局资源 ,可重载类的_term()方法,相当于析构函数
  _term:method ..;
   /*释放资源*/
   。。。
  endmethod; 
  
好了,关于类的编写就这样了,详情请看SAS的帮助

2.类的调用
 类不能直接调用,首先要生成一个对象,使用方法很简单,如
 dcl c_test obj1;
 obj1=_new_ c_test();
 ...
 obj1._term();
 注意,SAS有一特殊类型object,任何对象都可以赋值给他,如
 dcl object obj1;
 obj1=_new_ c_test();
 ...
 obj1._term();
 由于SAS的SCL是一种弱类型语言,所以没有那么多限制,赫赫,你想干嘛就干嘛,如果SAS不认同你的想法时,会在运行时报错的
 OK,关于SAS的OOP就介绍到此,如有什么不对之处,还请多多海涵 
  
 

 

 

 

更多文章 更多内容请看Office技巧专区SAS的应用与发展网管实用技巧100例专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章