Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report ZMENG_ENCAP
- *&---------------------------------------------------------------------*
- *& /sap_abap/sap_abap_encapsulation.html
- *&---------------------------------------------------------------------*
- *封装是一种面向对象编程(OOP)概念,将数据和功能绑定在一起,操作数据,
- *并保持两者免受外部干扰和误用。数据封装导致了数据隐藏的重要OOP概念。
- *封装是捆绑数据和使用它们的函数的机制,数据抽象是一种仅暴露接口
- *并向用户隐藏实现细节的机制。
- *ABAP通过创建称为类的用户定义类型支持封装和数据隐藏的属性。
- *如前所述,类可以包含私有,受保护和公共成员。默认情况下,类中定义的所有项目都是私有的
- REPORT zmeng_09_encap.
- *以下程序包含一个接口inter_1。我们已经声明了属性和方法method1。
- *我们还定义了两个类,如Class1和Class2。
- *因此,我们必须在两个类实现中实现方法“method1”。
- *我们在不同的类中实现了不同的方法'method1'。
- *在start-of-selection中,我们为两个类创建了两个对象Object1和Object2。
- *然后,我们通过不同的对象调用该方法来获得在单独的类中声明的函数。
- *接口inter_1。
- INTERFACE inter_1.
- "属性和方法method1
- DATA text1 TYPE char35.
- METHODS method1.
- ENDINTERFACE.
- *定义了两个类,如Class1和Class2。
- CLASS class1 DEFINITION.
- PUBLIC SECTION.
- INTERFACES inter_1.
- ENDCLASS.
- CLASS class2 DEFINITION.
- PUBLIC SECTION.
- INTERFACES inter_1.
- ENDCLASS.
- CLASS class1 IMPLEMENTATION.
- METHOD inter_1~method1.
- inter_1~text1 = 'Class 1 Interface method'.
- WRITE / inter_1~text1.
- ENDMETHOD.
- ENDCLASS.
- CLASS class2 IMPLEMENTATION.
- METHOD inter_1~method1.
- inter_1~text1 = 'Class 2 Interface method'.
- WRITE / inter_1~text1.
- ENDMETHOD.
- ENDCLASS.
- START-OF-SELECTION.
- DATA:
- object1 TYPE REF TO class1,
- object2 TYPE REF TO class2.
- CREATE OBJECT: object1,
- object2.
- CALL METHOD: object1->inter_1~method1,
- object2->inter_1~method1.
- *上面的代码产生以下输出:
- *
- *class 1 interface method
- *class 2 interface method
Add Comment
Please, Sign In to add comment