✒️ABAP Las propiedades de la programación orientada a objetos
ABAP Las propiedades de la programación orientada a objetos
- PROPIEDADES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
Las propiedades fundamentales que presentan los objetos son
- Encapsulación
- Herencia
- Polimorfismo
- ENCAPSULACIÓN
Se refiere a que todos los objetos restringen la visibilidad de sus atributos y métodos al resto de usuarios. La visibilidad puede ser pública, privada o protegida.
Cada objeto posee una interfase que determina la manera de interactuar con el. No se ve su implementación simplemente se usa.
Los componentes públicos de una clase no pueden cambiarse una vez liberada la clase.
Además de definir la visibilidad de un atributo, también 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. Las herencia permite crear una nueva clase a partir de una existente, heredando sus propiedades. Para ello hay que añadir INHERITING FROM a la sentencia de definición de la clase.
CLASS <subclase> DEFINITION INHERITING FROM <superclase>.
Se pueden añadir nuevos componentes en la subclase. Sólo los componentes públicos y protegidos de la superclase son visibles a la subclase. Aunque los componentes privados de la superclase existen en la subclase, no son visibles.
Podemos declarar componentes privados en la subclase con los mismos nombres que tengan componentes privados de la superclase, cada clase trabaja con sus propios componentes privados. Los métodos que una subclase hereda de una superclase usan los atributos privados de la superclase y no de la subclase si tiene el mismo nombre.
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.
Con ABSTRACT y FINALD en las sentencias METHODS y CLASS permiten definir métodos y clases abstractos y finales. La implementación de una método abstracto se define en una subclase de la clase donde se define. Las clases abstractas no pueden ser instanciadas. Un método final no puede ser redefinido en una subclase. Las clases finales no pueden tener subclases ya que finalizan el árbol de herencia.
- POLIMORFISMO
Significa que métodos que se llaman igual pueden comportarse de manera distinta en clases diferentes. También conocido como "Redefinición". Dicho de otra manera, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objecto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclases.
Todas las subclases contienen componentes de todas las clases existentes entre ellas mismas y el nodo raíz del arbol de herencia. La visibilidad de un componente no puede ser cambiada nunca.
Si que podemos usar REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que funcione de una manera específica.
Al redefinir un método (en una subclase) no se puede cambiar su interface, mantiene su nombre y parámetros y cambia la implementación. El mismo método de la superclase no se ve afectado.
Dentro de una método redefinido se puede usar la referencia SUPER-> para acceder al método del la superclase.
 
 
 
Sobre el autor
Publicación académica de Ignacio Mart?n Bolumar, en su ámbito de estudios para la Carrera Consultor ABAP.
Ignacio Mart?n Bolumar
Profesión: Ingeniero Inform?tico - Espa?a - Legajo: ZL84Z
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Ignacio Mart?n