✒️ABAP POO La Herencia
ABAP POO La Herencia
HERENCIA.
Capacidad que tiene una clase de heredar métodos y atributos de otra clase.
La herencia permite crear una nueva clase a partir de una existente, heredando la nueva las propiedades de la existente.
ESPECIALIZACIÓN
Se le llama a la relación en donde una clase (la subclase) hereda todas las principales características de otra clase (la superclase).
La Subclase puede agregar nuevos componentes (atributos y métodos) y reemplazar las implementaciones con los métodos heredados.
GENERALIZACIÓN
Se refiere a que la superclase hereda las características de las subclases .
VENTAJAS DE LA HERENCIA:
Los componentes comunes solo existen 1 única vez en la superclase, facilita su mantenimiento.
Los componentes en las superclases están disponibles también en las subclases, esto evita las implementaciones redundantes.
Permite reusabilidad del código de la clase, adicionando solo el código específico para las sublaclases.
DECLARACIÓN DE HERENCIA.
Se añade la sentencia INHERITING FROM a la definición:
CLASS <subclass> DEFINITION INHERITING FROM <superclass>
è La nueva clase hereda todos los componentes de la clase ya existentes.
è Sino se agrega ningún código a la subclase, ésta contendrá los mismos componentes que la superclase, recordando que lo que está visible de la superclase son los componentes públicos y protegidos.
è Los componentes privados de la superclase existen en la subclase pero no son visibles.
TIPOS DE HERENCIA:
SIMPLE. Una CLASE puede tener más de 1 subclase pero solo una SUPERCLASE de la que es SUBCLASE.
Multiple. Una clase hereda de varias superclases.
Como en los objetos ABAP no existe el concepto de herencia múltiple, se usarán Interfaces para simular este tipo de herencia.
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 ARBOL, donde el grado de especialización aumenta con cada nivel jerarquico.
El nodo Raíz de todos los árboles de herencia en los objetos abap es la clase predefinida vacia OBJECT.
OBJECT es la clase más general existente ya que no contiene ni atributos ni métodos. Al definir una nueva clase, esta relación ya está definida implícitamente, no se tiene que especificar.
MÉTODOS Y CLASES ABSTRACTAS.
o La sentencia FINAL y ABSTRACT en METHOD y CLASS permiten definir métodos o clases abstractas o finales.
o Un método abstracto se define en una clase abstracta y tiene que ser implementado en una subclase de la clase.
o Las clases abstractas no pueden ser instanciadas.
o Un método Final no puede ser redefinido en una subclase
o Las clases finales no pueden tener subclase, son las que finalizan el árbol de herencia.
 
 
 
Sobre el autor
Publicación académica de Elda Martinez Soto, en su ámbito de estudios para el Máster ABAP POO.
Elda Martinez Soto
Profesión: Ing. en Sistemas Computacionales - Mexico - Legajo: WW94O
✒️Autor de: 30 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Elda Martinez