面向对象的三大特征
1.封装:重复的代码打包起来一起用
2.抽象:原子性组合
3.多态:多样性,同样的方法不同的实现
ABAP的面向对象主要由几种元素组成。
1.作用范围(全局类SE24,本地类LCL(Local Class))
2.属性(静态属性,实例属性)及其作用范围(Public Protected Private)
3.方法(静态方法,实例方法)及其作用范围(Public Protected Private)
4.接口 完成一些事情的高度抽象
5.友元 (暂时用的较少)
6.事件 某些指定的操作可以作为事件,触发事件时要做什么(ASOP)
7.类型 (暂时用的较少)
8.别名 (暂时用的较少)
第一个类程序
如果你有过Java或者别的基础会比较好理解一点。类的静态方法是在类上的,实例只是一段带有实例数据指向类的数据。执行静态方法和改变静态属性的时候会找到类的内存地址再使用静态方法,调用对应的属性。静态属性在一次载入的时候是通用的(即一个Gui窗口加载一个类,在此GUI窗口同一个类的静态属性共享)。写起来好像有些复杂,不妨用一个例子来说明。
*定义类
CLASS ZCL_PERSON DEFINITION
*定义公开的构造器(单例模式可不公开)
CREATE PUBLIC .
*Public的属性或者方法
PUBLIC SECTION.
DATA MV_NAME TYPE CHAR10.
DATA MV_ID TYPE CHAR15.
*Public的构造器
METHODS CONSTRUCTOR
IMPORTING
VALUE(ID) TYPE CHAR15 OPTIONAL .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
*类方法的具体实现
CLASS ZCL_PERSON IMPLEMENTATION.
METHOD CONSTRUCTOR.
MV_ID = ID.
ENDMETHOD.
ENDCLASS.
*事件执行
START-OF-SELECTION.
DATA ZCL_PERSON TYPE REF TO ZCL_PERSON.
ZCL_PERSON = NEW #( ID = '1').
WRITE ZCL_PERSON->MV_ID.
这是一个有ID和Name的Person类,通过构造器可以创建一个具有ID和空姓名的实例对象。本例是创建了一个ID为1但没有名字的实例对象,write时显示为1。那这个对象有什么实际作用呢,相当于一个物料挂着一个物料号及其物料描述,这就把Person的概念转化过来了。
未完待续。。。。

文章介绍了ABAP语言中面向对象编程的基本概念,包括封装、抽象和多态,并详细阐述了类的结构,如作用域、属性、方法、接口、事件等。通过一个创建Person类的例子,展示了如何定义和使用类的方法及属性。
1783

被折叠的 条评论
为什么被折叠?



