✒️ABAP Las propiedades de la programación orientada a objetos
ABAP Las propiedades de la programación orientada a objetos
Encapsulación
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.
CLASS c1 DEFINITION.
PUBLIC SECTION.
// DATA:, METHODS:, EVENTS:
PROTECTED SECTION.
// DATA:, METHODS:, EVENTS:
PRIVATE SECTION.
// DATA:, METHODS:, EVENTS:
Los componentes públicos de las clases globales no pueden ser cambiados una vez que se ha liberado la clase. Así que tener mucho cuidado y declarar tan pocos como sea posible.
Además de definir la visibilidad de un atributo, se puede proteger de los cambios usando la adición READ-ONLY.
Herencia
Es la capacidad que tiene una clase de heredar las propiedades y métodos de otra clase.
Con la adición INHERITING FROM se permite crear una clase a partir de una ya existente, heredando sus propiedades.
CLASS <subclass> DEFINITION INHERITING FROM <superclass>.
Tipos de herencia:
- Simple: una clase puede tener más de una subclase de las cuales es superclase, pero sólo puede tener una superclase de la cual es subclase.
- Multiple: una clase hereda de varias superclases.
El nodo raíz de todos los árboles de herencia es la clase predefinida vacía OBJECT.
Polimorfismo
Significa que métodos que se llaman exactamente igual pueden comportarse de mantera distintas en clases diferentes. También se conoce como "Redefinición".
La adición REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que realice una fución más especializada.
Cuando se redefine un método, este mantiene nombre y misma interface de parámetros. La implementación de la redefinición en la subclase 'oculta' la implementación original en la superclase. Cualquier referencia que apunte a un objeto de la subclase usa el método redefinido, incluso si la referencia fue definida con referencia a la superclase.
El caso por excelencia en donde se aplica el polimorfismo o la redefinición es cuando tenemos una clase y una subclase y ambas tienen definido un mismo método, pero cada una de ellas presenta una declaración particular del método, adaptado a sus propias necesidades.
Por ejemplo supongamos que tenemos la clase VEHICULO y las subclases CAMION, BARCO Y AVION.
En la clase VEHICULO podemos tener definido el método CARGAR_NAFTA y luego en cada subclase tendremos una implementación particular del método, ya que no es exactamente lo mismo cargar nafta en un CAMIÓN, en un BARCO o en un AVION.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Helen Silva Ruiz
Sobre el autor
Publicación académica de Javier Exposito Diaz, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Exposito Diaz
Profesión: Programador Abap/4 Sap - España - Legajo: PF87S
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Javier Exposito