Understanding The Concepts of Object Oriented Programming
Understanding The Concepts of Object Oriented Programming
In the past, information systems used to be defined primarily by their functionality: Data and functions
were kept separate and linked together by means of input and output relations.
The object-oriented approach, however, focuses on objects that represent abstract or concrete things
of the real world. These objects are first defined by their character and their properties, which are
represented by their internal structure and their attributes (data). The behavior of these objects is
described by methods (functionality).
Objects: An object is a section of source code that contains data and provides services. The data
forms the attributes of the object. The services are known as methods (also known as operations
or functions). They form a capsule which combines the character to the respective behavior.
Objects should enable programmers to map a real problem and its proposed software solution on
a one-to-one basis.
Classes: Classes describe objects. From a technical point of view, objects are runtime instances
of a class. In theory, you can create any number of objects based on a single class. Each instance
(object) of a class has a unique identity and its own set of values for its attributes.
As mentioned earlier a class is an abstract description of an object. Classes in ABAP Objects can be
declared either globally or locally.
Global Class: Global classes and interfaces are defined in the Class Builder (Transaction SE24) in the
ABAP Workbench. They are stored centrally in class pools in the class library in the R/3 Repository. All of
the ABAP programs in an R/3 System can access the global classes
Local Class: Local classes are define in an ABAP program (Transaction SE38) and can only be used in
the program in which they are defined.
Local Classes
Definition: This section is used to declare the components of the classes such as attributes,
methods, events .They are enclosed in the ABAP statements CLASS ... ENDCLASS.
Implementation: This section of a class contains the implementation of all methods of the class. The
implementation part of a local class is a processing block.
Structure of a Class
• Attributes:- Any data,constants,types declared within a class form the attribute of the class.
• Methods:- Block of code, providing some functionality offered by the class. Can be compared to
function modules. They can access all of the attributes of a class.
Methods are defined in the definition part of a class and implement it in the implementation part
using the following processing block:
METHOD <meth>.
...
ENDMETHOD.
Methods are called using the CALL METHOD statement.
• Events:- A mechanism set within a class which can help a class to trigger methods of other class.
• Interfaces:- Interfaces are independent structures that you can implement in a class to extend the
scope of that class.
Instance components exist separately in each instance (object) of the class and are referred using
instance component selector using ‘à’.
Static components only exist once per class and are valid for all instances of the class. They are
declared with the CLASS- keywords
Static components can be used without even creating an instance of the class and are referred to
using static component selector ‘ =>’ .
2. Visibility of Components
Each class component has a visibility. In ABAP Objects the whole class definition is separated into three
visibility sections: PUBLIC, PROTECTED, and PRIVATE.
• Data declared in public section can be accessed by the class itself, by its subclasses as well as by
other users outside the class.
• Data declared in the protected section can be accessed by the class itself, and also by its
subclasses but not by external users outside the class.
• Data declared in the private section can be accessed by the class only, but not by its subclasses
and by external users outside the class.
We shall see an example on Visibility of Components once we become familiar with attributes of
ABAP Objects.
The yellow block of code is CLASS Definition
The Grey block of code is for object creation. This object creation includes two steps:
Inheritance is the concept of adopting the features from the parent and reusing them . It involves passing
the behavior of a class to another class. You can use an existing class to derive a new class. Derived
classes inherit the data and methods of the super class. However, they can overwrite existing methods,
and also add new ones.
Single Inheriting: Acquiring the properties from a single parent. (Children can be more).
Multiple inheritance: Acquiring the properties from more than one parent.
Example
(Best color)
Tomato2
(Best Size)
Tomato3
(Best Taste)
INCLUDEPICTURE "http://www.saptechnical.com/Tutorials/OOPS/Concepts/page2.4.gif" \*
MERGEFORMATINET
INCLUDEPICTURE "http://www.saptechnical.com/Tutorials/OOPS/Concepts/page2.5.gif" \*
MERGEFORMATINET
Let us see a very simple example for creating subclass(child) from a superclass(parent)
Multiple Inheritance is not supported by ABAP.
Output is as follows :
Abstraction: Everything is visualized in terms of classes and objects.
Encapsulation The wrapping up of data and methods into a single unit (called class) is known as
Encapsulation. The data is not accessible to the outside world only those methods, which are wrapped in
the class, can access it.
Polymorphism: Methods of same name behave differently in different classes. Identical (identically-
named) methods behave differently in different classes. Object-oriented programming contains
constructions called interfaces. They enable you to address methods with the same name in different
objects. Although the form of address is always the same, the implementation of the method is
specific to a particular class.