Preview – OO ABAP: Narrowing and Widening Cast

Video Preview:

Click here to download the source code and presentation for this video.

Learn the difference between narrowing (upcast) and widening (downcast) cast in ABAP.
This video will teach you how to implement both, and when to use them in a real case scenario.

Narrowing Cast

Variables of the type “reference to superclass” can also refer to subclass instances at runtime.
For example:

*superclass

DATA lv_vehicle TYPE REF TO zcl_vehicle.

*subclass

DATA lv_truck TYPE REF TO zcl_truck.

*narrowing cast

lv_vehicle = lv_truck.

  • The term upcast is also common.
  • The subclass always contains at least the same components as the superclass.
  • The user can therefore address the subclass instance in the same way as the superclass instance.
  • However, it is restricted to using only the inherited components.
  • The view is thus generally narrowed. That is why we describe this type of assignment of reference variables as narrowing cast.
  • There is a switch from a view of several components to a view of a few components.

Practical Example

  • A typical use for narrowing cast assignments is to prepare for generic access.
  • A user, who is not at all interested in the finer points of the instances of the subclasses but who simply wants to address the shared components, could use a superclass reference for this access.
  • For example, a travel agency needs to manage all imaginable kinds of vehicles in one list.
  • This leads to the question of what type should be assigned to the internal table for the references of the different types of vehicles.

Purchase a Premium Pass with an access link to watch the full video:
After completion of purchase , download the Premium Pass file where you will find the access link to the video.
You will also receive an email, shortly after the purchase, from Mendoza Learning Hub that will contain the Premium Pass and instructions for your video.


Or, become a Premium Member... - click here to become one

As a Premium member you get access to all of the videos, including this one. Log in to your Premium Account by clicking on 'Sign Up/Log In'. Visit your 'Member Profile' page where you will find access to all the Premium content. Alternately, you can visit the course's main page where you can access the premium videos.

If you didn't receive an email:
Check your spam folder. Many internet providers have spam filters that block emails that contain links. If you’re unable to find the confirmation email, then please contact us.

If you have problems with this video visit Help & Support, or contact us at info@carlosmdubon.com .


If you want a video on a particular topic, fill the form below.

[contact-form][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Video Topic' type='text' required='1'/][contact-field label='Description' type='textarea' required='1'/][/contact-form]

Preview – OO ABAP: Inheritance & Casting

Learn ABAP

Click here to download the source code and presentations for this video.

Inheritance is an implementation relationship that emphasizes similarities of the classes. In this video you will learn how to create class hierarchies using ABAP Objects.
After watching this video you will be able to:
1. Define inheritance relationships between classes
2. Redefine methods
3. Understand the basics of casting

Introduction to OO Concepts

  • Object oriented concepts are the basic programming techniques common to all object-oriented languages.
  • As far as these concepts are concerned, the only difference between ABAP Objects and other languages like Java or C++ is the syntax.
  • You can only capitalize on the strengths of object-oriented programming if you use all of the concepts in the intended manner.

Inheritance & Casting

What is Inheritance?

  • Different kinds of objects often have a certain amount in common with each other.
  • Cars, trucks, and buses, for example, all share the characteristics of vehicles (current speed, current gear).
  • Yet each also defines additional features that make them different:
    • For example, trucks carry cargo and have more tires than a car
    • Buses carry more passengers than trucks and cars.

Inheritance: is the concept that when a class is defined, any subclass that is defined can inherit the definitions of that class.

There is no multiple inheritance in ABAP Objects. However, you can use interfaces in ABAP Objects to simulate multiple inheritance.


Purchase a Premium Pass with an access link to watch the full video:
After completion of purchase , download the Premium Pass file where you will find the access link to the video.
You will also receive an email, shortly after the purchase, from Mendoza Learning Hub that will contain the Premium Pass and instructions for your video.


Or, become a Premium Member... - click here to become one

As a Premium member you get access to all of the videos, including this one. Log in to your Premium Account by clicking on 'Sign Up/Log In'. Visit your 'Member Profile' page where you will find access to all the Premium content. Alternately, you can visit the course's main page where you can access the premium videos.

If you didn't receive an email:
Check your spam folder. Many internet providers have spam filters that block emails that contain links. If you’re unable to find the confirmation email, then please contact us.

If you have problems with this video visit Help & Support, or contact us at info@carlosmdubon.com .


If you want a video on a particular topic, fill the form below.

[contact-form][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Video Topic' type='text' required='1'/][contact-field label='Description' type='textarea' required='1'/][/contact-form]

Preview – OO ABAP: Constructors

Learn ABAP

Click here to download the source code and presentations for this video.

Constructors are methods that are generally called implicitly when a class is instantiated or defined.
This video will teach you about instance and static constructors in ABAP.

Constructors

  • Constructors are methods that are not generally called explicitly (CALL METHOD  or its short form), but are called implicitly.
  • The constructor is a special instance method in a class and is always named CONSTRUCTOR. This abbreviated term actually means the instance constructor.
  • The constructor is automatically called at runtime with the CREATE OBJECT  statement.

A constructor is necessary when, after the instantiation of a class:

  • You need to allocate resources
  • You need to initialize attributes
  • You need to modify static attributes
  • You need to send messages containing the information that a new object was  created

Instance Constructors

  • Each class can have no more than one (instance) constructor
  • The constructor must be defined in the public area
  • The constructor’s signature can only have importing parameters and exceptions
  • When exceptions are raised in the constructor, instances are not created, so no main memory space is occupied
  • Except for one exceptional case, you cannot normally call the constructor explicitly
  • There is no destructor in ABAP Objects.

Purchase a Premium Pass with an access link to watch the full video:
After completion of purchase , download the Premium Pass file where you will find the access link to the video.
You will also receive an email, shortly after the purchase, from Mendoza Learning Hub that will contain the Premium Pass and instructions for your video.


Or, become a Premium Member... - click here to become one

As a Premium member you get access to all of the videos, including this one. Log in to your Premium Account by clicking on 'Sign Up/Log In'. Visit your 'Member Profile' page where you will find access to all the Premium content. Alternately, you can visit the course's main page where you can access the premium videos.

If you didn't receive an email:
Check your spam folder. Many internet providers have spam filters that block emails that contain links. If you’re unable to find the confirmation email, then please contact us.

If you have problems with this video visit Help & Support, or contact us at info@carlosmdubon.com .


If you want a video on a particular topic, fill the form below.

[contact-form][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Video Topic' type='text' required='1'/][contact-field label='Description' type='textarea' required='1'/][/contact-form]

Preview – OO ABAP: Classes, Attributes & Methods

Click here to download the source code and presentations for this video.

This simple example will show you how to define and implement classes, methods and attributes in ABAP.
Public and private visibility is explained as well as the difference between static and instance components.

This simple example will show you how to define and implement classes, methods and attributes in ABAP.
Public and private visibility is explained as well as the difference between static and instance components.

Classes, Attributes & Methods

  • The concept of classes is the foundation for all object-oriented thinking.
    • A class is a set of objects that have the same structure and the same behavior.
  • We will start with a simple demonstration, let’s create a class for our previous
    function group example, we will call it ZCL_VEHICLE.
  • Our class will have the following components:
    • ZCL_VEHICLE: Class Components:
      • Private Components:
        • Speed
        • Private Access, generally:
          • Attributes
          • Data Types
      • Public Components:
        • Increase_speed
        • Decrease_speed
        • Get_speed
        • Public Access, generally:
          • Methods
          • Events

Attributes can be one of three types:

  • Elementary
  • Structured
  • Table Type

Purchase a Premium Pass with an access link to watch the full video:
After completion of purchase , download the Premium Pass file where you will find the access link to the video.
You will also receive an email, shortly after the purchase, from Mendoza Learning Hub that will contain the Premium Pass and instructions for your video.


Or, become a Premium Member... - click here to become one

As a Premium member you get access to all of the videos, including this one. Log in to your Premium Account by clicking on 'Sign Up/Log In'. Visit your 'Member Profile' page where you will find access to all the Premium content. Alternately, you can visit the course's main page where you can access the premium videos.

If you didn't receive an email:
Check your spam folder. Many internet providers have spam filters that block emails that contain links. If you’re unable to find the confirmation email, then please contact us.

If you have problems with this video visit Help & Support, or contact us at info@carlosmdubon.com .


If you want a video on a particular topic, fill the form below.

[contact-form][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Video Topic' type='text' required='1'/][contact-field label='Description' type='textarea' required='1'/][/contact-form]

OO (Object Oriented) ABAP – Introduction

 

This video is an introduction to the new ways of thinking and the related concepts of OO (Object Oriented) ABAP.

An example of encapsulating data using a function group is presented, and the advantage of using OO ABAP instead of procedural programming is demonstrated.

Introduction

  • Based on your existing knowledge of procedural programming with ABAP, I will explain the object-oriented approach using a Function Group.
  • I will illustrate one of the advantages of using object-oriented programming over procedural programming.
  • Let’s start by encapsulating data - a concept of the object-oriented programming mode – using a function group in ABAP.

Encapsulating Data: Speed

Function Group with functions to control the speed of a car.

FUNCTION-POOL zfg_vehicle.

*speed is a global variable

*used in the function-pool

DATA: speed TYPE i.

FUNCTION zfm_increase_speed.
ADD i_speed TO speed.

ENDFUNCTION.

FUNCTION zfm_decrease_speed.
SUBTRACT i_speed FROM speed.

ENDFUNCTION.

FUNCTION zfm_get_speed.
e_speed = speed.

ENDFUNCTION.