✒️ABAP Las propiedades de la programación orientada a objetos
ABAP Las propiedades de la programación orientada a objetos
Unidad 5: Programación Orientada a Objetos.
Lección 4: Propiedades de la Programación orientada a Objetos.
1.- Las propiedades de la programación orientada a objetos.
Las propiedades fundamentales de la POO son:
- Encapsulación.
- Herencia.
- Polimorfismo.
2.- Encapsulación.
También llamada 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 son la base de la encapsulación. Cada objeto presenta una interfaz que determina las posibilidades de interactuar con él, mientras se oculta en distinto grado su implementación.
Al definir una nueva clase hay que limitar lo máximo posible los componentes públicos. Los componentes públicos de una clase global no se pueden cambiar una vez liberada la clase.
Además de definir la visibilidad de un atributo también se pueden proteger frente a cambios mediante la cláusula READ-ONLY.
3.- Herencia.
Es la capacidad que tiene una clase de heredar las propiedades y métodos de otras clases.
Para decir que una clase es herencia de otra hay que añadir en la sentencia de definición de la clase la cláusula INHERETING FROM.
CLASS <nombre subclase> DEFINITION INHERETING FROM <superclase>
Automáticamente la subclase hereda todos los componentes de la superclase que es como denominamos a la clase principal. Ahora bien solo los componentes públicos y protegidos de la superclase son visibles para la subclase. En consecuencia podemos declarar componentes privados en la subclase con el mismo nombre de los componentes privados de la superclase. Los métodos heredados de la superclase utilizan los atributos privados de la superclase y no aquellos de la subclase del mismo nombre.
Vemos las posibles relaciones entre superclase y subclase:
- Especialización. La subclase hereda todas las características principales de la superclase.
- Generalización. La superclase hereda las características de la subclase.
Si la superclase no tiene área privada la subclase inicialmente es una copia de la original. Si la subclase es a su vez una superclase con respecto a otras se esta insertando un nivel extra de especialización.
En ABAP hay dos tipos de herencia:
- Simple. Una clase puede tener mas de una subclase de las que es superclase. Pero solo una superclase de la que es subclase.
- Múltiple. Una clase hereda de varias superclases.
En la medida que se desciende de nivel en el árbol de herencia aumenta la especialización y a la inversa la generalización. El nodo raiz de todos los árboles de herencia en los objetos ABAP es la clase predefinida vacía OBJECT. Su generalización alcanza el máximo nivel dado que no contiene ni métodos ni atributos. La relación de la clase OBJECT con las demás esta implícita.
Las cláusulas ABSTRACT y FINAL en las sentencias METHODS y CLASS. Un método definido en una clase abstracta como ABSTRACT no puede ser implementado en la misma clase sino en una subclase de la misma. Las clases abstractas no pueden ser instanciadas.
Un método FINAL no puede ser redefinido en una subclase. Una clase FINAL no puede tener subclases.
4.- Polimorfismo.
Significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes.También podemos llamar al polimorfismo "Redefinición".
Todas las subclases contienen los componentes de todas las clases existentes entre ella y el nodo raíz del árbol de herencia. La visibilidad de un componente no se puede cambiar nunca.
Lo que si podemos hacer es usar la cláusula REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que cumpla una función más especializada.
La redefinición de un método implica un cambio de implementación, no de su interfaz. La redefinición de un método en una subclase no implica ningún efecto en la definición e implementación del mismo en una superclase. Lo que hace la redefinición en la subclase es ocultar la implementación original en la superclase.
Cualquier referencia que apunte a un objeto de la subclase usara el método redefinido incluso si la referencia fue definida con referencia a la superclase. Esto aplica a la referencia a si mismo me-->
El caso mas claro de aplicación del polimorfismo o la redefinición se da cuando existe una clase y una subclase de la misma ambas definen un mismo método pero cada una de ellas presenta su declaración del mismo adaptado a sus necesidades.
 
 
 
Sobre el autor
Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Compte Sanchez
Profesión: Sap Business&integration Architect - España - Legajo: QQ38S
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.
Certificación Académica de Francisco Compte