✒️ABAP POO La Herencia
ABAP POO La Herencia
U2-L2
Herencia
Capacidad que tiene una clase de heredar las propiedades (atributos y métodos) de otra clase.
Especialización; relación donde una subclase hereda las principales características de la superclase.
En la subclase se pueden agregar nuevos componentes (atributos y métodos) y reemplazar las implementaciones con métodos heredados.
Generalización; inverso a especialización, la superclase hereda características de subclase.
Ventajas de herencia:
- Los componentes comunes existen solo una vez en la superclase y son mantenidos centralmente.
- Evita implementaciones redundantes ya que los componentes de superclases están disponibles en subclases.
- Reusabilidad; reutilizar código de la superclase adicionando el código específico para cada subclase.
Declaración de Herencia.
CLASS <subclass> DEFINITION INHERITING FROM <superclase>.
La nueva clase hereda todos los componentes de la clase ya existente.
Sólo los componentes publicos y protegios de la superclase son visibles en la subclase. Los componentes privados existen en la subclase, pero no son visibles.
Se pueden declarar componentes privados en una subclase con los mismos nombres de los comp privados de la superclase. Cada clase trabaja con sus propios comp privados.
Los métodos que una subclase hereda de una superclase usan los atributos privados de la superclase y no ningún comp privado de la subclase con el mismo nombre.
Tipos de Herencia
Simple; una clase puede tener N subclases de las cuales es superclase, pero sólo puede tener una superclase de la cual es subclase.
Multiple; una clase hereda de varias superclases. No existe en ABAP pero se pueden utilizar interfaces para simular la herencia múltiple.
Cuando una subclase hereda de una superclase que a su vez hereda de otra superclase de la cual es subclase, se forma un árbol
El nodo raíz del árbol de herencia en objetos ABAP es la clase predefinida vacía OBJECT.
OBJECT; la mas general de todas las clases ya que no contiene atributos ni métodos. Cuando se define una nueva clase, no se tiene que especificar esta clase como superclase, la relación ya está definida implícitamente.
Las adiciones ABSTRACT y FINAL en las sentencias methods y class; definen métodos o clases abstractas y finales.
Método abstracto; se define en una clase abstracta y no puede ser implementado en esa clase, se implementa en una subclase de la clase.
Clases abstractas; no pueden ser instanciadas.
Método final; no puede ser redefinido en una subclase.
Clases finales; no pueden tener subclase, son las que finalizan el árbol de herencia.
 
 
 
Sobre el autor
Publicación académica de Denisse Adriana Hernandez Trujillo, en su ámbito de estudios para el Máster ABAP POO.
Denisse Adriana Hernandez Trujillo
Mexico - Legajo: AH80E
✒️Autor de: 71 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Denisse Hernandez