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

原创 2004年09月20日 13:04:00

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就介绍到此,如有什么不对之处,还请多多海涵 
  
 

 

 

 

面向对象程序设计思想的魅力

说说面向对象程序设计 在学习面向程序之前,我先学了C语言,也就是面向过程的程序设计。学完C后的第一个感觉只能编写一些及其简单的题目,什么判断大小,或者利用一些循环语句,用批量判断大小。最起码我那时还...
  • a5503308
  • a5503308
  • 2014年09月13日 00:30
  • 1565

在Java中什么是面向对象的程序设计方法?有哪些主要特征?

其实不管是java还是.net都是属于面向对象程序设计语言,归根结底,它们都离不开面向对象,所以什么是面向对象呢,意思就是object-oriented 将对数据和对数据的操作作为一个相互依赖的关系、...
  • dubois2007
  • dubois2007
  • 2013年09月25日 10:36
  • 1731

面向对象程序设计基础总结

面向对象程序设计java基础总结
  • ivylingling123
  • ivylingling123
  • 2017年05月11日 19:58
  • 263

java面向对象程序设计期末测试题

测试题一 1.The term wrapper classes refers to   A. the Java classes that contain at least two da...
  • mxx0526
  • mxx0526
  • 2015年11月16日 21:18
  • 1396

面向对象程序设计三个基本特征(C++)

  • baidu_23318869
  • baidu_23318869
  • 2015年08月14日 22:04
  • 1207

《解析C++面向对象程序设计》清华大学出版-读书笔记

第1章  认识对象
  • CHS007chs
  • CHS007chs
  • 2014年06月23日 10:24
  • 1269

c++面向对象和c面向过程的一些概念

1.面向对象和面向过程的概念 面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用则可。 面向对象是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了...
  • wsyhok
  • wsyhok
  • 2017年01月18日 14:02
  • 821

四、面向对象介绍 结构化程序设计、面向对象程序设计、面向对象设计的特征和优缺点

一、结构化程序设计 传统的程序设计方法可以归结为“程序=算法+数据结构”,将程序定义为处理数据的一系列过程。这种设计方法的着眼点是面向过程的,特点是数据与程序分离,即数据与数据处理分离。 结构化程...
  • tianttt
  • tianttt
  • 2014年12月14日 15:04
  • 1709

面向对象程序设计的基本概念

概述概念面向对象 = 对象 + 类 + 继承 + 消息对象对象(Object):具有责任的实体。用来描述客观事物的实体,是构成系统的一个基本单位,由一组属性以及作用在这组属性的操作构成。特性:标识符(...
  • vegetable_bird_001
  • vegetable_bird_001
  • 2016年07月04日 15:31
  • 2188

编程范式分析(一)面向过程和面向对象

程序=数据结构+算法 数据结构可以看成 data ,算法就是所谓的code;程序就是代码和数据串接起来的一个逻辑体: 面向过程: data和code没有特别的亲疏关系 data独立,code独立;数据...
  • hittata
  • hittata
  • 2016年04月07日 16:21
  • 928
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sas scl程序设计使用技巧-面向对象的程序设计
举报原因:
原因补充:

(最多只允许输入30个字)