✒️ABAP / Las propiedades de la programación orientada a objetos Por Jaime Gomez Arango

Selector Alummnos / Empresas

ABAP Las propiedades de la programación orientada a objetos

ABAP Las propiedades de la programación orientada a objetos

Object-Oriented Programming Properties

Encapsulation

Encapsulation, also known as "hiding," refers to the concept where objects restrict the visibility of their resources (attributes and methods) from other users. It's like hiding the complexity under a hood.

In encapsulation, we have three visibility areas: public, protected, and private. These areas form the basis of encapsulation. Each object has an interface that dictates how it can be interacted with.

CLASS c1 DEFINITION.
PUBLIC SECTION.
DATA: a1 ... " Public attributes visible outside the class.
METHODS: m1 ... " Public methods accessible from outside.
EVENTS: e1 ... " Public events for outside interaction.

PROTECTED SECTION.
DATA: a2 ... " Protected attributes visible to subclasses.
METHODS: m2 ... " Protected methods accessible to subclasses.
EVENTS: e2 ... " Protected events for subclass interaction.

PRIVATE SECTION.
DATA: a3 ... " Private attributes, invisible outside the class.
METHODS: m3 ... " Private methods, not accessible from outside.
EVENTS: e3 ... " Private events, only within the class.
ENDCLASS.

When defining a class, it's crucial to design public components thoughtfully, aiming to declare as few as possible. Once public components of global classes are released, they cannot be changed. It's like setting the rules for how others can interact with your object.

For instance, public attributes are visible externally and form part of the interface between an object and its users. If we want to completely encapsulate an object's state, we shouldn't declare any public attributes. Additionally, besides defining attribute visibility, we can protect them from changes using the READ-ONLY addition.

Inheritance

Inheritance is the property that allows a class to inherit the properties and methods of another class. It's like passing down traits from parent to child.

Inheritance enables the creation of a new class based on an existing one, with the new class inheriting the properties of the existing class. This is done by adding the INHERITING FROM addition to the class definition statement.

CLASS subclass DEFINITION INHERITING FROM superclass.

The new class "subclass" inherits all components of the existing class "superclass."

If no declarations are added to the subclass, it contains the same components as the superclass. However, only the public and protected components of the superclass are visible to the subclass. Although the private components of the superclass exist in the subclass, they are not visible.

Each class operates with its own private components. Methods that a subclass inherits from a superclass utilize the private attributes of the superclass and don't use any private component of the subclass with the same name.

CLASS vehicle DEFINITION.
PUBLIC SECTION.
METHODS: increase_speed,
decrease_speed.
PROTECTED SECTION.
DATA km TYPE i.
ENDCLASS.


CLASS vehicle IMPLEMENTATION.
METHOD increase_speed.
ADD 10 TO km.
ENDMETHOD.
METHOD decrease_speed.
SUBTRACT 10 FROM km.
ENDMETHOD.
ENDCLASS.

***THE BICYCLE CLASS inherits from the VEHICLE CLASS
CLASS bicycle DEFINITION INHERITING FROM vehicle.
PUBLIC SECTION.
DATA tire_wear(5) TYPE c.
ENDCLASS.

In this example, the BICYCLE class inherits properties and methods from the VEHICLE class. It's like saying, "A bicycle is a type of vehicle."

Specialization

Specialization is when a subclass inherits all the main characteristics of another class, the superclass. If we flip the perspective, where the superclass inherits characteristics of the subclass, we talk about generalization. If the superclass lacks a PRIVATE section, the subclass becomes an exact replica of the superclass. However, we can still add new components to the subclass, allowing it to become a specialized version of the superclass.

Types of Inheritance

There are two types of inheritance:

  • Simple: A class can have multiple subclasses but only one superclass.

CLASS 1
!
---------------------------
! !
CLASS 2 CLASS 3

  • Multiple: A class can inherit from several superclasses.
CLASS 1
!
CLASS 2
!
CLASS 3

When a subclass inherits from a superclass, which in turn inherits from another superclass, a tree structure is formed, increasing specialization with each added hierarchical level. Conversely, classes become more general until reaching the root node of the inheritance tree.

The root node of all inheritance trees in ABAP objects is the predefined empty class OBJECT, the most general of all classes possible.

Polymorphism

Polymorphism means that methods with the same name can behave differently in different classes. It's like different classes responding differently to the same message.

In other words, polymorphism allows an object of one class to behave like an object of any of its subclasses, depending on how methods of that class or subclasses are called.

CLASS counter DEFINITION.
PUBLIC SECTION.
METHODS: set IMPORTING VALUE(set_value) TYPE i,
increment,
get EXPORTING VALUE(get_value) TYPE i.

PROTECTED SECTION.
DATA count TYPE i.
ENDCLASS.

CLASS counter IMPLEMENTATION.
METHOD set.
count = set_value.
ENDMETHOD.

METHOD increment.
ADD 1 TO count.
ENDMETHOD.

METHOD get.
get_value = count.
ENDMETHOD.
ENDCLASS.

CLASS counter_ten DEFINITION INHERITING FROM counter.
PUBLIC SECTION.
METHODS increment REDEFINITION.
DATA count_ten(1) TYPE c.
ENDCLASS.

Polymorphism allows methods to respond differently based on the context of the class. It's like saying, "Different vehicles have different ways of accelerating."

In conclusion, these principles lay the foundation for robust and flexible ABAP programming, offering ways to structure and manage code effectively. They provide powerful tools for building complex systems while maintaining clarity and modularity.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las propiedades de la programación orientada a objetos" de la mano de nuestros alumnos.

SAP Master


Las propiedades de la programación orientada a objetos Propiedades de la POO La POO se basa en tres propiedades clave: encapsulación, herencia y polimorfismo. Esta lección revisa cada una de ellas en detalle. Encapsulación Conocida también como ocultamiento; restringe la visibilidad de atributos y métodos. Tres niveles de visibilidad: público, privado y protegido. Cada objeto tiene una interfaz pública y una implementación interna oculta. Se recomienda minimizar los componentes públicos al diseñar una clase. Los componentes públicos no pueden modificarse una vez liberada la clase. ...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

• Las Propiedades de la Programación Orientada a Objetos La Programación Orientada a Objetos (POO) en ABAP se fundamenta en tres propiedades esenciales que definen cómo se estructuran y se comportan los objetos, contribuyendo a un diseño de software robusto y flexible. Estas propiedades son la encapsulación, la herencia y el polimorfismo, que controlan la visibilidad, la reutilización y el comportamiento adaptable del código. â—¦ Encapsulación: Una propiedad fundamental que gestiona la visibilidad de los componentes de un objeto, ocultando su implementación interna. â—¦ Herencia: Permite a las clases nuevas adquirir características y funciones de clases ya existentes,...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Las tres propiedades fundamentales que presentan los objetos en la programación orientada a objetos son: Encapsulamiento : Es la propiedad que permite ocultar los detalles internos de un objeto y exponer solo lo necesario a través de una interfaz pública. Esto ayuda a proteger los datos y reducir la complejidad. Herencia : Permite que una clase (subclase) herede atributos y métodos de otra clase (superclase). Esto facilita la reutilización del código y permite crear jerarquías de clases. Polimorfismo : Es la capacidad de que un objeto pueda ser tratado como instancia de múltiples clases a través de la herencia. Esto permite que un mismo método...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Las propiedades de la programación orientada en objetos: Existen tres propiedades fundamentales que presentan los objetos. Ellas son: Encapsulación Herencia Polimorfismo Encapsulación : también conocido "ocultamiento", se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios. Las tres áreas de visibilidad (pública, privada y protegida) son las base de la encapsulación. Cuando se define una clase hay que tener mucho cuidado en el diseño de los componentes públicos, intentando declarar tan pocos como sea posible. Los componentes públicos de las clases globales no pueden ser cambiados...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Denominaremos especialización a la relación en donde una clase, la sub clase hereda las principales características de otra clase la súper clase. Si invertimos el punto de vista, es decir, la súper clase hereda las características de la sub clase entonces hablaremos de generalización, si la súper clase no tiene una excepción o parte privada la sub clase es una réplica exacta de la súper clase, de todos modos, podemos añadir nuevos componentes a la sub clase esto permite convertir a la sub clase e una versión especializada de la súper clase si una sub clase es ella misma una súper clase de otras clases se está introduciendo un nuevo...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

PROPIEDADES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. Existen tres propiedades fundamentales que presentan los objetos. Ellas son: •Encapsulacion •Herencia •Polimorfismo LA ENCAPSULACIÓN se refiere a todos los objetos que restringen la visibilidad de sus recursos ( atributos y métodos) al resto de los usuarios. Cada objeto posee una interfase que determina la manera de interactuar con el. La implementación del objeto (su interior) es encapsulada, lo que quiere decir que desde afuera el objeto es invisible, simplemente se usa. Los componentes públicos de las clases globales no pueden ser cambiados una vez que se ha liberado la clase. LA HERENCIA Es la capacidad que tiene una clase de heredar...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Object-Oriented Programming Properties Encapsulation Encapsulation, also known as "hiding," refers to the concept where objects restrict the visibility of their resources (attributes and methods) from other users. It's like hiding the complexity under a hood. In encapsulation, we have three visibility areas: public, protected, and private. These areas form the basis of encapsulation. Each object has an interface that dictates how it can be interacted with. CLASS c1 DEFINITION. PUBLIC SECTION. DATA: a1 ... " Public attributes visible outside the class. METHODS: m1 ... " Public methods accessible from outside. EVENTS: e1 ... " Public events for outside interaction. PROTECTED SECTION. ...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las propiedades de la programación orientada a objetos 1 - Las propiedades de la POO. 3 tipos: - encapsulacion - herencia - polimorfismo. 2 - Encapsulacion. Ocultamiento, restingen la visibilidad de sus recursos (atributos y metodos) al resto de los usuarios. Las 3 areas (publica, privada y protegida) son la base de la encapsulacion. Cada objeto posee una interfase que derermina la manera de interactuar con el. Se debe declarar lo menos posible componentes publicos. Los componente publicos de las clase globales no pueden ser cambiados una vez que se han liberado la clase. Se puede proteger un atributo con READ-ONLY. 3 - La herencia. Capacidad de una clase de heredar las propiedades y metodos de otra...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Las propiedades de la programación orientada a objetos Existen 3 propiedades fundamentales que presentan los objetos. Ellas son: Encapsulación Herencia Polimorfismo A continuación veremos en detalle cada una de ellas. La Encapsulación También conocida como ocultamiento, se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios. Las 3 áreas de visibilidad (pública, privada y protegida) son la base de la encapsulación. Cada objeto posee una interfase que determina la manera de interactuar con él. La implementación del objeto (su interior) es encapsulada, lo que quiere decir que desde fuera el objeto es...

Acceder a esta publicación

Creado y Compartido por: Lisimaco Prieto Herrera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

En ABAP la POO se utiliza en casos muy puntuales, por ejemplo si te piden crear una transacción que muestro en una misma pantalla 2 o mas reportes ALV la unica forma de hacer esto es utilizando la POO. Lo mismo sucede si tenemos que implementar BADIS, son aplicaciones muy puntuales, no se desarrolla toda una trx orientada a objetos. PROPIEDADES DE LA PROGRAMACION ORIENTADA A OBJETOS. Encapsulacion Se conoce como ocultamiento, se refiere a que todos los objetos restringen la visibilidad de sus recursos (Atributos y Metodos) Al resto ed los usuarios. Herencia Es la capacidad que tiene una clase de heredar las propiedades y metodos de otra clase. Tipos de HERENCIA: existen dos tipos, simple y multiple Polimorfismo Significa que metodos...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!