
PROPIEDADES DE LA PROGRAMACION ORIENTADA A OBJETOS – LECCION 5-4
Existen tres propiedades fundamentales que presentan los objetos
- Encapsulación
- Herencia
- Polimorfismo
ENCAPSULACION, también conocido 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 tres áreas de visibilidad (pública, privada y protegida) son la base de la encapsulación
Los componentes públicos, no pueden ser liberados de las clases globales no pueden ser cambiados una vez que se ha liberado la clase
Por ejemplo, los atributos públicos son visibles externamente y forman parte de la interface de un objeto y sus usuarios, si se requiere encapsular el estado de un objeto completamente, no se tiene que declarar ningún atributo público. Además de definir la visibilidad de un atributo, se puede proteger también de los cambios usando la adición READ-ONLY
HERENCIA, es la capacidad que tiene una clase de heredar los propiedades y métodos de otra clase
La herencia permite crear una nueva clase a partir de una existente, heredando la nueva clase sus propiedades, esto se realiza añadiendo la adición INHERITING FROM a la sentencia de definición de la clase.
CLASS <subclass> DEFINITION INHERITING FROM
<superclass>
NOTA, la clase origina se conoce como la superclase de la nueva clase que será la subclase
Sino se añade ninguna declaración a la subclase, esta contiene los mismos componentes de la superclase, de cualquier manera, solo 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
TIPOS DE HERENCIA
Existen dos tipos de herencias
- SIMPLES: una clase puede tener mas de una subclase de las cuales es superclase, pero solo puede tener una superclase de la cual es subclase
- MULTIPLE: una clase hereda de varias superclases.
Cuando una subclase hereda de una superclase que a su vez hereda de otra superclase de la cual es subclase, se forma una estructura de árbol en la cual el grado de especialización aumenta con cada nivel jerárquico que se añade
NOTA, el nodo raíz de todos los arboles de herencia en los objetos ABAP es la clase predefinida vacía OBJECT.
POLIMORFISMO, significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes
También se le conoce como redefinición
Dicho de otra forma, el polimorfismo consiste en conseguir que el objeto de una clase se comporte como un objeto de cualquiera de sus clases, dependiendo de la forma de llamar a los métodos de dicha clase o subclase
NOTA, el caso por excelencia en donde se aplica el polimorfismo o la definición es cuando tenemos una clase y 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