0% found this document useful (0 votes)
9 views4 pages

36 - SAP ABAP - Inheritance

The document explains the concept of inheritance in SAP ABAP, allowing classes to inherit properties and methods from other classes, promoting code reuse and easier maintenance. It details the syntax for defining inheritance, access control rules, and how to redefine methods in subclasses. Examples are provided to illustrate the implementation of inheritance and method redefinition in ABAP code.

Uploaded by

suraya1222t
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views4 pages

36 - SAP ABAP - Inheritance

The document explains the concept of inheritance in SAP ABAP, allowing classes to inherit properties and methods from other classes, promoting code reuse and easier maintenance. It details the syntax for defining inheritance, access control rules, and how to redefine methods in subclasses. Examples are provided to illustrate the implementation of inheritance and method redefinition in ABAP code.

Uploaded by

suraya1222t
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Page 1 of 4

SAP ABAP - Inheritance


One of the most important concepts in object oriented programming is that of
inheritance. Inheritance allows us to define a class in terms of another class, which
makes it easier to create and maintain an application. This also provides an opportunity
to reuse the code functionality and fast implementation time.

When creating a class, instead of writing completely new data members and methods,
the programmer can designate that the new class should inherit the members of an
existing class. This existing class is called the base class or super class, and the new
class is referred to as the derived class or sub class.

An object of one class can acquire the properties of another class.


Derived class inherits the data and methods of a super class. However, they can
overwrite methods and also add new methods.

The main advantage of inheritance is reusability.

The inheritance relationship is specified using the ‘INHERITING FROM’ addition to the
class definition statement.

Following is the syntax −

CLASS <subclass> DEFINITION INHERITING FROM <superclass>.

Example

Report ZINHERITAN_1.
CLASS Parent Definition.
PUBLIC Section.
Data: w_public(25) Value 'This is public data'.
Methods: ParentM.
ENDCLASS.

CLASS Child Definition Inheriting From Parent.


PUBLIC Section.
Methods: ChildM.
ENDCLASS.

CLASS Parent Implementation.


Method ParentM.
Write /: w_public.

https://www.tutorialspoint.com/sap_abap/sap_abap_inheritance.htm 1/4
Page 2 of 4

EndMethod. ENDCLASS.

CLASS Child Implementation.


Method ChildM.
Skip.
Write /: 'Method in child class', w_public.
EndMethod.
ENDCLASS.

Start-of-selection.
Data: Parent Type Ref To Parent,
Child Type Ref To Child.
Create Object: Parent, Child.
Call Method: Parent→ParentM,
child→ChildM.

The above code produces the following output −

This is public data


Method in child class
This is public data

Access Control and Inheritance


A derived class can access all the non-private members of its base class. Thus super
class members that should not be accessible to the member functions of sub classes
should be declared private in the super class. We can summarize the different access
types according to who can access them in the following way −

Access Public Protected Private

Same calss Yes Yes Yes

Derived class Yes Yes No

Outside class Yes No No

When deriving a class from a super class, it can be inherited through public, protected or
private inheritance. The type of inheritance is specified by the access specifier as
explained above. We hardly use protected or private inheritance, but public inheritance is
commonly used. The following rules are applied while using different types of
inheritance.

https://www.tutorialspoint.com/sap_abap/sap_abap_inheritance.htm 2/4
Page 3 of 4

Public Inheritance − When deriving a class from a public super class, public
members of the super class become public members of the sub class and
protected members of the super class become protected members of the sub
class. Super class's private members are never accessible directly from a sub
class, but can be accessed through calls to the public and protected members of
the super class.
Protected Inheritance − When deriving from a protected super class, public
and protected members of the super class become protected members of the sub
class.

Private Inheritance − When deriving from a private super class, public and
protected members of the super class become private members of the sub class.

Explore our latest online courses and learn new skills at your own pace. Enroll and
become a certified expert to boost your career.

Redefining Methods in Sub Class


The methods of the super class can be re-implemented in the sub class. Few rules of
redefining methods −

The redefinition statement for the inherited method must be in the same section
as the definition of the original method.

If you redefine a method, you do not need to enter its interface again in the
subclass, but only the name of the method.

Within the redefined method, you can access components of the direct super
class using the super reference.

The pseudo reference super can only be used in redefined methods.

Example

Report Zinheri_Redefine.
CLASS super_class Definition.
Public Section.
Methods: Addition1 importing g_a TYPE I
g_b TYPE I
exporting g_c TYPE I.
ENDCLASS.

CLASS super_class Implementation.


Method Addition1.
g_c = g_a + g_b.
EndMethod.

https://www.tutorialspoint.com/sap_abap/sap_abap_inheritance.htm 3/4
Page 4 of 4

ENDCLASS.

CLASS sub_class Definition Inheriting From super_class.


Public Section.
METHODS: Addition1 Redefinition.
ENDCLASS.

CLASS sub_class Implementation.


Method Addition1.
g_c = g_a + g_b + 10.
EndMethod.
ENDCLASS.

Start-Of-Selection.
Parameters: P_a Type I, P_b TYPE I.
Data: H_Addition1 TYPE I.
Data: H_Sub TYPE I.
Data: Ref1 TYPE Ref TO sub_class.
Create Object Ref1.
Call Method Ref1→Addition1 exporting g_a = P_a
g_b = P_b
Importing g_c = H_Addition1.
Write:/ H_Addition1.

After executing F8, if we enter the values 9 and 10, the above code produces the
following output −

Redefinition Demo
29

https://www.tutorialspoint.com/sap_abap/sap_abap_inheritance.htm 4/4

You might also like