FavoriteLoading
0

ABAP面向对象(Object Orientation)编程2-类的静态属性

对于ABAP OO中的静态属性,使用  class-data语句定义(ClASS-DATA attr(属性)[可选]),语句CLASS-DATA只允许被声明在接口或者类中,这个语句定义一个静态属性attr的有效性是和类的实例无关的,只对类的本身有效。所有的类的实例和子类都可以访问这个静态属性。

注意

1.        像所有的在继承中的静态组件,静态属性存在于所有继承父类的子类中。静态的属性,该属性是可见的外部使用类组件选择器可以解决随着它存在的类中的所有的名字。这意味着类在声明的时候已经被定义,举例来说,如何执行构造函数有影响。如果静态属性改变,那么所有的类都会影响,会独立的寻找地址。

2.        你可以访问CLSS-DATA定义的静态属性只用类的名字,而不是接口的名字。

3.        作为一个普通的类,这是他们内部的程序模式是建立在加载类时,共享内存功能的类的静态属性以同样的方式处理,如果不同的程序访问类中静态属性,那么这些动态属性是相互独立的。

4.        动态属性接口可以声明成一个static box,用语句 BOXED.

下面代码是在类vehicle中定义了一个静态属性claaa_name和一个实例属性speed

CLASS vehicle DEFINITION.

PUBLIC SECTION.

CLASS-DATA class_name(10) TYPE C VALUE 'vehicle'.

PROTECTED SETION.

DATA speed TYPE I.

ENDCLASS.

完整代码:

运行结果:

2017-02-25_18-06-23

以上。