mengyuxin

Inheriting

Apr 18th, 2021
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 1.95 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report ZMENG_INHERITING
  3. *&---------------------------------------------------------------------*
  4. *& 
  5. *&---------------------------------------------------------------------*
  6.  
  7. *面向对象编程中最重要的概念之一是继承。 继承允许我们根据另一个类定义一个类,
  8. *这使得创建和维护应用程序变得更容易。 这也提供了重用代码功能和快速实现时间的机会。
  9. *当创建类时,程序员可以指定新类应该继承现有类的成员,而不是写入完全新的数据成员和方法。
  10. *此现有类称为基类或超类,新类称为派生类或子类 。
  11. *一个类的对象可以获取另一个类的属性。派生类继承超类的数据和方法。
  12. *但是,他们可以覆盖方法,并添加新的方法。继承的主要优点是可重用性。
  13. *除了类定义语句之外,还使用“INHERITING FROM"指定继承关系。
  14. *以下是语法:
  15. *CLASS <subclass> DEFINITION INHERITING FROM <superclass>.
  16.  
  17.  
  18. REPORT zmeng_06_inheriting.
  19.  
  20.  
  21. CLASS parent DEFINITION.
  22.   PUBLIC SECTION.
  23.     DATA: w_public(25) VALUE 'This is public data'.
  24.   METHODS: parentm.
  25. ENDCLASS.
  26.  
  27. CLASS child DEFINITION INHERITING FROM parent.
  28.   PUBLIC SECTION.
  29.   METHODS: childm.
  30. ENDCLASS.
  31.  
  32. CLASS parent IMPLEMENTATION.
  33.   METHOD parentm.
  34.     WRITE /: w_public.
  35. ENDMETHOD. ENDCLASS.
  36.  
  37. CLASS child IMPLEMENTATION.
  38.   METHOD childm.
  39.     SKIP.
  40.     WRITE /: 'Method in child class', w_public.
  41.   ENDMETHOD.
  42. ENDCLASS.
  43.  
  44. START-OF-SELECTION.
  45.   DATA: parent TYPE REF TO parent,
  46.         child  TYPE REF TO child.
  47.  
  48.   CREATE OBJECT: parent, child.
  49.  
  50.   CALL METHOD: parent->parentm,
  51.                child->childm.
  52.  
  53.   "上面的代码产生以下输出:
  54. *This is public data
  55. *Method in child class
  56. *This is public data
  57.  
  58.  
Add Comment
Please, Sign In to add comment