Object Oriented ABAP

Hyderabad February 24-26th 2009 Instructor: Subhas Katikala.

Workshop Goals
This workshop will enable you to:
‡ Learn object ± oriented concepts. ‡ Learn the principle of object - oriented programming. ‡ Learn the application of object - oriented ABAP.

Course Contents

Object Oriented Concepts Object Oriented Programming. Advantages of the Object-Oriented Approach Classes Components of a Class Methods ‡ Syntax and Visibility ‡ Instance Methods and Static Methods ‡ Constructor Reference Variables ‡ Creating References ‡ Assigning References

Attributes ‡ Syntax and Visibility ‡ Instance Attributes and Static Attributes

Course Contents Inheritance  Super classes and Subclasses  Visibility  Inheritance and the (Instance) Constructor  Parameters  Redefining Methods in OOABAP  Compatibility  Principles of the Narrowing Cast  Static and Dynamic Components  Final Classes and Methods .

Course Contents Polymorphism  Advantages Compared to Procedural Programming  Abstract Classes and Methods  Component Namespaces in Classes Interfaces  Defining and Implementing an Interface  Working with Interface Components  Interface References ‡ Narrowing Cast ‡ Widening Cast  Using Several Interfaces  Polymorphism and Interfaces  Polymorphism and Inheritance  Compound Interfaces .

Course Contents Events  Define and Trigger Events  Handle Events  Register and deregister Events  Receive a reference from Sender .

Object ² Oriented Concepts What are Are Objects? What Objects ? Model Real world Tree Met hod Met hod Met hod House Data Data Met hod Met hod Met hod Crane Met hod Met hod Met hod Data Boat Data Met hod Met hod Met hod  Objects are an abstraction of the real world  Objects are units made up of data and of the functions belonging to that data ¥ SAP AG 1999 .

OOPS Object Oriented Programming ‡ Encapsulation ‡ Inheritance ‡ Polymorphism ‡ Instantiation ‡ Interfacing ‡ Events .

Advantages ‡ Simplicity ‡ Explicitness ‡ Maintainability ‡ Future Orientation .

which describe the state and behavior of objects. ‡ A Class is an abstract description of an object. ‡ Classes are templates for objects. ‡ The attributes of objects are defined by the components of the class. .Classes ‡ Classes are the central element of object-orientation.

‡ All of the ABAP programs in an R/3 System can access the global classes. ‡ They are stored centrally in class pools in the class library in the R/3 Repository.Classes ‡ You define global classes and interfaces in the Class Builder (Transaction SE24) in the ABAP Workbench. .

Components in a class .

Classes Defining Local Classes ‡ A complete class definition consists of a declaration part and. an implementation part. you must also write an implementation part for it. ENDCLASS. «. The declaration part of a class <class> is a statement block: CLASS c1 DEFINITION. «. ENDCLASS. CLASS c1 IMPLEMENTATION. if required. . ‡ ‡ If you declare methods in the declaration part of a class.

Attributes .

Classes Defining Local Classes .

Syntax . Types. Constants .Attributes.

Attributes and Visibility .

Instance attributes and Static attributes .

Methods .

Methods : Syntax .

Methods and Visibility .

Instance methods and Static methods .

Instance methods and Static methods : Example .

Constructor .

Constructor : Example .

Static Constructor : Implementation .

Static Constructor : Call Examples .

Creating Objects .

Reference Variables .

Creating Objects : Syntax .

Assigning References .

‡ You do this using the INHERITING FROM addition in the CLASS <subclass> DEFINITION INHERITING FROM <superclass> statement.Inheritance ‡ Inheritance allows you to derive a new class from an existing class. ‡ The original class is called the superclass of the new class. . ‡ The new class <subclass> inherits all of the components of the existing class <superclass>. ‡ The new class is called the subclass of the class from which it is derived.

Inheritance .

Inheritance : Syntax .

Relationships between super classes and subclasses Relationships between super classes and subclasses .

Inheritance and Visibility .

Inheritance and (Instance) constructor .

Parameters and CREATE OBJECT .

Redefining Methods in ABAP Objects .

Redefining Methods : Example .

Compatibility and Narrowing Cast .

Principles of the Narrowing Cast .

Static and Dynamic Types: Example .

Static and Dynamic Types for References .

Static and Dynamic Types for References Widening the Cast .

Widening the cast .

Polymorphism .

Polymorphism .

Polymorphism .

. but they do not contain their own implementation part.Interface ‡ Interfaces exclusively describe the external point of contact of a class.

Defining and Implementing Interface .

Working with Interface components .

Interface References Narrowing casting .

Interface ‡ The assignment of an object reference to an interface reference is known as a narrowing cast since. . you can no longer address all components in the class carrying out the implementation. as with inheritance. only a part of the object interface is visible once you have assigned the reference. but only the components defined in the interface. ‡ With an interface reference.

Interface references widening cast .

‡ An object reference cannot be assigned to an interface reference if it has itself not implemented the corresponding interface. the opposite of the narrowing cast: here it is used to retrieve an object reference from an interface reference. Obviously it cannot be statically checked. . since an interface can be implemented by more than one class. as with inheritance.Interface ‡ The widening cast is.

Even if these interfaces contain components with the same name. one class is implementing several interfaces. .Using several Interface ‡ In the above example. they are differentiated in the class carrying out the implementation by the prefix ³<interfacename>~´.

Polymorphism and Interface


‡ Objects or Classes use events to trigger Event Handler methods in other objects or classes. ‡ When an event is triggered any number of Event Handler Methods can be called. ‡ The events of a class can be raised in the same class using the RAISE EVENT Statement. ‡ Events have only output parameters which are accepted by the Event Handler Methods as input parameters. ‡ The link between the trigger and the handler is established dynamically at runtime using the statement SET HANDLER.

Events Overview

Triggering and handling Events : Overview .

Defining and Triggering Events .

Handling and Registering Events .

Handling Events .

Registering for an Event : Syntax .

Deregistration .

Registration/Deregistration : Handler Table .

Event handling : Characteristics .

Events and Visibility .

Sign up to vote on this title
UsefulNot useful