1. Single Inheritance (Supported in ABAP) Definition: One subclass inherits from one superclass. Use: Most common form of inheritance. CLASS parent_class DEFINITION. PUBLIC SECTION. METHODS: display.ENDCLASS.CLASS parent_class IMPLEMENTATION. METHOD display. WRITE: 'Parent class method'. ENDMETHOD.ENDCLASS.CLASS child_class DEFINITION INHERITING FROM parent_class.ENDCLASS.CLASS child_class IMPLEMENTATION.ENDCLASS.
SAP EWM Help Latest Questions
Inheritance allows one class to reuse the code from another class. In SAP ABAP, this helps in building modular, reusable, and maintainable programs. Use of Inheritance in SAP Purpose
While ABAP classes can’t inherit from multiple classes, they can implement multiple interfaces, achieving interface-based multiple inheritance. INTERFACE if1. METHODS: method1. ENDINTERFACE. INTERFACE if2. METHODS: method2. ENDINTERFACE. CLASS my_class DEFINITION. PUBLIC SECTION. INTERFACES: if1, if2. ENDCLASS. CLASS my_class IMPLEMENTATION. METHOD if1~method1. WRITE: 'Method1 from IF1'. ENDMETHOD. METHOD if2~method2. WRITE: 'Method2 from IF2'. ENDMETHOD. ENDCLASS.
A final class is declared using the keyword FINAL in its definition. It’s used when you want to prevent further inheritance of the class, ensuring its behavior cannot be modified through subclassing. Why Use a Final Class?
*--Check BOL is assigned to TU or not, if not raise error message DATA lo_tu_query TYPE REF TO /scwm/cl_sr_tu_query. DATA lo_log ...
Method overriding allows a subclass to provide a new implementation of a method that is already defined in the superclass. The method in the subclass must use the REDEFINITION keyword. When to use it: When a general method in a ...
It’s an ABAP OO class that displays data in a grid (table-like format) inside a screen container. Unlike the simpler CL_SALV_TABLE, this grid is fully interactive and customizable. Main Features Editable cells → You can let users change data directly in the grid. Field ...
Instance Members (Methods & Data) Belong to individual objects (instances). Created using DATA and METHODS. Each object has its own copy of the data. Accessed using the object reference: lo_obj->method_name. Useful when each object should maintain its own state. Destroyed when the object goes out of ...
*&———————————————————————* *& Report ZCLASS_TEST_DP_1 *& *&———————————————————————* *& *& *&———————————————————————* REPORT zclass_test_dp_1. *pillars of oop ” abstraction –> hiding the data. ” encapsulation –> variable + methods. –> capsule -> 1 + 1 == ” inheritance –> parent child relation. ” –> child calss will inherit the property of parent class ” polymorphism ” multiple forms –> 1 method — same name and differe param parent ==> child class but with different paremeters. –> method overriding. ” method overloading is not there –> same 2 same name and different parameters. PARAMETERS: p_num TYPE i. DATA: lv_tot TYPE i. CLASS lcl_main DEFINITION. PUBLIC SECTION. METHODS: get_data EXPORTING iv_num TYPE i. METHODS: set_data IMPORTING ev_num TYPE i. PROTECTED SECTION. PRIVATE SECTION. DATA : lv_num1 TYPE i. ENDCLASS. CLASS lcl_main IMPLEMENTATION. METHOD set_data. lv_num1 = ev_num. ENDMETHOD. METHOD get_data. iv_num = lv_num1. ENDMETHOD. ENDCLASS. ” inheritance class lcl_child DEFINITION INHERITING FROM lcl_main. PUBLIC SECTION. METHODS: get_data REDEFINITION. METHODS: set_data REDEFINITION. PROTECTED SECTION. PRIVATE SECTION. data lv_child type i value 4. ENDCLASS. class lcl_child IMPLEMENTATION. method get_Data. ” method overriding * ev_tot = iv_num + iv_num2. ” child will gor the child methods first then to parent method. super->get_data( IMPORTING iv_num = iv_num ). ” way to calling the parent method ENDMETHOD. method set_Data. * ev_tot = iv_num + iv_num2. ” child will gor the child methods first then to parent method. super->set_data( EXPORTING ev_num = ev_num ). ” way to calling the parent method ENDMETHOD. ENDCLASS. START-OF-SELECTION. DATA(lo_obj) = NEW lcl_main( ). DATA(lo_obj_child) = NEW lcl_child( ). lo_obj_child->set_data( EXPORTING ev_num = p_num ).
Polymorphism allows different classes to be treated through a common parent reference, while still calling their own version of a method at runtime. When to use it: When you want to treat multiple objects generically, but still get their specific behavior. In ...