Table A-1 shows the comparison of capabilities offered by ABAP function groups and ABAP object-oriented classes. The √ symbol denotes support for the capability, while the Ø symbol denotes no support.
Table A-1. Comparison of Capabilities Offered by ABAP Function Groups and ABAP Object-Oriented Classes
# | Capability | Function group | Classes | Comments |
---|---|---|---|---|
1 | Encapsulation | √ | √ | Offers at least some rudimentary aspect of encapsulation |
2 | Encapsulation unit | √ | √ | |
3 | Public attributes | Ø | √ | |
4 | Public behaviors | √ | √ | |
5 | Protected attributes | Ø | √ | |
6 | Protected behaviors | Ø | √ | |
7 | Package attributes | Ø | √ | |
8 | Package behaviors | Ø | √ | |
9 | Private attributes | √ | √ | |
10 | Private behaviors | √ | √ | |
11 | Abstraction | √ | √ | Offers at least some rudimentary aspect of abstraction |
12 | Levels of abstraction | √ | √ | |
13 | Static | √ | √ | |
14 | Instantiation | Ø | √ | |
15 | Inheritance | Ø | √ | Offers at least some rudimentary aspect of inheritance |
16 | Polymorphism | Ø | √ | Offers at least some rudimentary aspect of polymorphism |
17 | Independent interfaces | Ø | √ | Offers at least some rudimentary aspect of independent interfaces |
18 | Signature with behavior | √ | √ | |
19 | Functional behavior | Ø | √ | If <functional behavior goes here> eq true … |
20 | Screen handling | √ | Ø | Classes have no standard screen processing capability; with classes, this is facilitated through the use of function modules or by WebDynpro and its successors (UI5, etc.) |
21 | Remote procedure calls | √ | Ø | Function module needs to be marked “remote enabled” call function … destination (synch RFC) call function … starting new task (asynch RFC) call function … in background task (transactional RFC) |
22 | Execute in update task | √ | Ø | call function … in update task |