Top Banner
Hyderabad February 24-26th 2006 Instructor: Subhas Katikala. Object Oriented ABAP
69
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Object Oriented ABAPHyderabad February 24-26th 2006

    Instructor: Subhas Katikala.

  • Workshop GoalsThis workshop will enable you to: Learn object oriented concepts.Learn the principle of object - oriented programming.Learn the application of object - oriented ABAP.

  • Course ContentsObject Oriented ConceptsObject Oriented Programming.Advantages of the Object-Oriented Approach

    Methods Syntax and Visibility Instance Methods and Static Methods Constructor

    Reference Variables Creating References Assigning References

    ClassesComponents of a Class

    Attributes Syntax and Visibility Instance Attributes and Static Attributes

  • Course ContentsInheritance 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 ContentsPolymorphism 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 ContentsEvents Define and Trigger Events Handle Events Register and deregister Events Receive a reference from Sender

  • Object Oriented ConceptsWhat are Objects ?

  • Object Oriented Programming

    Encapsulation

    Inheritance

    Polymorphism

    Instantiation

    Interfacing

    Events

    OOPS

  • Advantages

    Simplicity

    Explicitness

    Maintainability

    Future Orientation

  • Classes are the central element of object-orientation.

    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, which describe the state and behavior of objects.

    Classes

  • You define global classes and interfaces 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.

    Classes

  • Components in a class

  • Defining Local ClassesA complete class definition consists of a declaration part and, if required, an implementation part.

    The declaration part of a class is a statement block: CLASS c1 DEFINITION. . ENDCLASS.

    If you declare methods in the declaration part of a class, you must also write an implementation part for it. CLASS c1 IMPLEMENTATION. . ENDCLASS.

    Classes

  • Attributes

  • Defining Local ClassesClasses

  • Attributes, Types, Constants - Syntax

  • 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

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

    Inheritance

  • Inheritance

  • Inheritance : Syntax

  • Relationships between super classes and subclassesRelationships 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

  • Widening the CastStatic and Dynamic Types for References

  • Widening the cast

  • Polymorphism

  • Polymorphism

  • Polymorphism

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

    Interface

  • Defining and Implementing Interface

  • Working with Interface components

  • Interface References Narrowing casting

  • The assignment of an object reference to an interface reference is known as a narrowing cast since, as with inheritance, only a part of the object interface is visible once you have assigned the reference.

    With an interface reference, you can no longer address all components in the class carrying out the implementation, but only the components defined in the interface.

    Interface

  • Interface references widening cast

  • The widening cast is, as with inheritance, 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.

    An object reference cannot be assigned to an interface reference if it has itself not implemented the corresponding interface.

    Interface

  • In the above example, one class is implementing several interfaces. Even if these interfaces contain components with the same name, they are differentiated in the class carrying out the implementation by the prefix ~. Using several Interface

  • 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

  • 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