BC404学习笔记-ABAP面向对象编程(一)-基础

  只摘录注意事项和难以理解的地方。总的来说和JAVA、C++面向对象编程技术差不太多。类、继承、封装之类的概念在abapoo中也都有体现。面向对象的对象简单理解就是现实世界的事物,到编程世界就用类来表现,事物的属性和一些行为就对应类的变量和方法。

      静态变量、方法

     1.声明的时候用CLASS-DATACLASS-METHODS

      引用

      使用 DATA: AAA TYPE REF TO  BBB声明一个引用变量AAAAAA其实就是一个BBB类型的指针,此时只是声明并没有在内存中生成一个BBB类型的对象。

BC404学习笔记-ABAP面向对象编程(一)-基础_第1张图片

     CREATE OBJECT AAA.就会在内存中创建一个BBB类型的实例,AAA指向该实例。

  BC404学习笔记-ABAP面向对象编程(一)-基础_第2张图片

上图看到airplane1 airplane2都指向各自实例,如果执行airplane1=airplane2,之后,那么airplane1就会指向airplane2所指向的实例,并且原airplane1所指向的实例会被系统回收。系统会自动回收(删除)没有被指向的实例(对象),即如果一个实例没有被一个指针所指向,那么它就会被系统删除,回收空间。

 BC404学习笔记-ABAP面向对象编程(一)-基础_第3张图片

对于引用类型的比较,如 IF airplane1 = airplane2,它们比较的是地址,而不是内容。

 BC404学习笔记-ABAP面向对象编程(一)-基础_第4张图片

 
访问类属性调用类方法

属性:

           1.类名=>属性/方法名

                   2.实例->属性/方法名

        方法:

                   1.CALL METHOD类名=>方法名

                   2.CALL METHOD实例=>方法名

总而言之,用实例对象访问属性或方法用“->,直接用类名访问的方式用“=> ,直接用类名的好处是不用实例化一个对象然后再调用方法。

构造函数 constructorjava一样,实例被创建(CREATEOBJECT)的时候调用,一般用来初始化一些数据。有了构造函数,就可以CREATE OBJECT 的时候就传参数进去。

类似:

BC404学习笔记-ABAP面向对象编程(一)-基础_第5张图片

 

REDEFINITION

   用于继承里子类重写父类方法

 BC404学习笔记-ABAP面向对象编程(一)-基础_第6张图片

P135

你可能感兴趣的:(ABAP)