ABAP - Keyword Documentation →  ABAP Programming Guidelines →  Architecture → 

Object-Oriented Programming

Achieving an optimal object-oriented design is not an easy task and this is not the subject of these programming guidelines. It is definitely worth consulting the relevant literature for this topic. The rules below are limited to basic recommendations (for making source codes easier to understand and maintain) and ABAP specifics on working with global and local classes.

Developers who have experience with object-oriented development in other programming languages should be aware of the differences between ABAP Objects and Java:

Of course, you can transfer algorithms and a general class structure to ABAP, from an application written in another object-oriented programming language. However, the greater the depth, the greater the differences. Therefore, you need to make appropriate modifications, in order to transfer a detailed design in a different language to ABAP Objects.

Static Classes and Singletons
Class References and Interface References
Local Types for Global Classes
Instance Constructor