ABAP Keyword Documentation → ABAP − Reference → Declarations → Declaration Statements → Classes and Interfaces → ABAP Objects - Overview
Object Orientation
Object orientation (or, more correctly, object-oriented programming) is a problem-solving method that represents the real world in a series of software objects.
Object-oriented programming is based on a programming model in which data and functions are unified in objects. The remaining language scope of ABAP mainly supports procedural programming, where the data is stored in places other than the objects and where programs that are modularized by procedures access this data.
This document defines a few general terms that are widely used in object orientation and in ABAP Objects.
Other versions: 7.31 | 7.40 | 7.54
Objects
Classes
Object References
In object-oriented programming, objects usually have the following characteristics:
Encapsulation
Polymorphism
Inheritance
Benefits of Object Orientation
Object orientation has the following advantages:
- Complex software systems become easier to understand, since an object-oriented architecture resembles reality more closely than other programming techniques.
- Changes in object-oriented systems should be possible locally (at class level), without further changes being necessary in other parts of the system. This reduces the amount of maintenance required.
- Polymorphism and inheritance enable many individual components to be reused.
- Object-oriented systems require fewer revisions and less maintenance, because the majority of problems can be discovered and corrected in the design and development phases.
Achieving these goals requires:
- Object-oriented programming languages
Object-oriented programming techniques do not necessarily require object-oriented programming languages. However, they do depend on the implementation of object-oriented constructions in the system kernel.
- Object-oriented tools
Object-oriented tools help when creating object-oriented programs in object-oriented languages. They make it possible to store and visualize program objects and the relationships between them.
- Object-oriented modeling
Object-oriented modeling of a software system is the most important, most time consuming, and most difficult task required to achieve the above goals. Object-oriented design encompasses more than just object-oriented programming, and offers logical advantages that are independent of the eventual implementation.