🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP POO La Herencia

ABAP POO La Herencia

ABAP POO La Herencia

Herencia:

La herencia permite crear una nueva clase a partir de una nueva 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>.

La nueva clase <subclass> hereda todos los componentes de la clase ya existente <superclase>.

La nueva clase se conoce como la subclase de la clase de la que procede. La clase original se conoce como la superclase de la nueva clase. Si no se añade ninguna declaración a la subclase, esta contiene los mismos componentes que la superclase. De cualquier manera, sólo los componentes públicos y privados de la superclase son visibles en la subclase. Aunque los componentes privados de la superclase existen en la subclase, no son visibles. Se pueden declarar componentes privados en una subclase que tengan los mismos nombres que 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 ningún componente privado de la subclase con el mismo nombre. Si la superclase no tiene una sección privada, la subclase es una réplica exacta de la superclase. De todos modos podemos añadir nuevos componentes a la subclase. Esto permite convertir a la subclase en una versión especializada de la superclase. Si una subclase es ella misma una superclase de otras clases, se está introduciendo un nuevo nivel de especialización. 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. Esto se conoce como herencia simple, en contraposición con la herencia múltiple donde 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ñada. A la inversa, las clases se hacen más generales hasta que se alcanza el nodo raíz del árbol de herencia. El nodo raíz de todos los árboles de herencia en ABAP Objects es la clase predefinida vacía OBJECT. Esta es la más general de todas las clases posibles ya que no contiene ni atributos ni métodos. Cuando se define una nueva clase no se tiene que especificar explícitamente esta clase como superclase, esta relación está definida implícitamente. Dentro de un árbol de herencia, dos nodos adyacentes son la superclase y la subclase directamente uno de otro. Las declaraciones de componentes en una subclase están distribuidas a través de todos los niveles superiores en el árbol de herencia.

Ejemplo de HERENCIA

REPORT demo_inheritance.

*******************************************************************

CLASS counter DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE i,

increment,

get EXPORTING value(get_value) TYPE i.

PROTECTED SECTION .

DATA count TYPE i.

CLASS counter IMPLEMENTATION.

METHOD set.

count = set_value.

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = count.

ENDMETHOD.

ENDCLASS.

*******************************************************************

CLASS counter_ten DEFINITION INHERITING FROM counter.

PUBLIC SECTION.

METHODS increment REDEFINITION .

DATA count_ten.

ENDCLASS.

Redefinición de métodos

Todas las subclases contienen los componentes de todas las clases existentes entre ellas mismas y el nodo raiz del árbol de herencia. La visibilidad de un componente no puede ser cambiada nunca. En cambio se puede usar la adición REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que realice una función más especializada. Cuando se redefine un método no se puede cambiar su interface, el método mantiene el mismo nombre y la misma interface de parámetros, pero tiene una nueva implementación. La declaración y la implementación de un método en una superclase no se ve afectada cuando se redefine un método en una subclase. La implementación de la redefinición en la subclase ‘oculta’ la implementación original en la superclase. Cualquier referencia que apunte a un objeto de la subclase usa el método redefinido, incluso si la referencia fue definida con referencia a la superclase. Esto se aplica particularmente a la referencia a sí mismo me->. Si por ejemplo un método M1 de una superclase contiene una llamada CALL METHOD [ME->]M2 y M2 está redefinido en una subclase, la llamada a M1 desde una instancia de la superclase hará que el método original M2 sea llamado, mientras que la llamada a M1 desde una instancia de la subclase hará que el método redefinido M2 sea llamado (llaman a ‘distintos’ métodos auque tengan el mismo nombre). Dentro de un método redefinido se puede usar la referencia SUPER-> para acceder al método ‘oculto’. Esto permite usar la funcionalidad existente en el método de la superclase sin tener que codificarla de nuevo en la subclase.

Clases y métodos abstractos y finales

Las adiciones ABSTRACT y FINAL en las sentencias METHODS y CLASS permiten definir métodos o clases abstractos y finales. Un método abstracto se define en una clase abstracta y no puede ser implementado en esa clase, tiene que ser implementado en una subclase de la clase. 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, son las que finalizan el árbol de herencia.

TIPOS DE HERENCIA:

Hay dos tipos de Herencia:

Herencia Simple: Consiste en que cada clase sólo deriva directamente de una superclase, pero puede tener varias subclases directas. La clase vacía OBJECT es el nodo raíz de cada árbol de herencia en ABAP Objects.

Herencia Multiple: Una hereda varias superclases. En ABAP OBJECTS no existe el concepto de herencia multiple, sin embargo se pueden utilizar las interfaces para simular este tipo de herencia.


 

 

 


Sobre el autor

Publicación académica de Enrique Horacio Lugo Lander, en su ámbito de estudios para el Máster ABAP POO.

SAP SemiSenior

Enrique Horacio Lugo Lander

Profesión: Tsu en Informática - Argentina - Legajo: GB93C

✒️Autor de: 30 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Enrique Lugo

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La Herencia" de la mano de nuestros alumnos.

SAP SemiSenior

Leccion Herencia. 1. Que es la Herencia?. Es la capacidad que tiene una clase (la Subclase) de heredar los atributos y métodos de otra clase (la Superclase). Especialización : La subclase hereda todas las principales caracteristicas de la superclase. Generalizacion : Caso inverso de la especialización. Las pricipales ventajas de la herencia son : - Los componentes solo existen una única vez en la superclase. - Los componentes en la superclases estan también disponibles en las subcalses. 2. Decalaración de Herencia. CLASS <subclass> DEFINITION INHERITING FROM <sperclass>. Aunque los componentes privados de la superclase exiten enla subclase, no son visibles. 3. Tipos de Herencia. - Simple,...

Acceder a esta publicación

Creado y Compartido por: Rafael Humberto Quintero Pinto

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La Herencia Que es? Es la capacidad eque tiene una clase de heredar los atributos y metodos de otra clase. Para declarar una relacion de herencia se adiciona INGERITING FROM a la sentencia de definicion de la clase. Cada clase trabaja con sus propios componentes privados. Los metodos que una subclase hereda de una superclase usan los atributos privados de la superclase y no ningun componente privado de la subclase con el mismo nombre. Tipos de herencia: Simple: 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 El nodo rariz de todos los arboles de herencia en los objetos ABAP es la clase predefinida vacia OBJECT....

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Herencia Que es la herencia? Herencia: Es la capacidad que tiene una clase de heredar los atributos y metodos de otra clase. Denominaremos especialización a la relación en donde una clase (la sublcase) hereda todas las principales caracterisiticas de la otra clase (la superclase). La subclase puede agregra nuevos componentes (atributos y metodos) y reemplazar las implementaciones con los metodos heredados. Si invertimos el punto de vista, es decir la superclase hereda las caracteristicas de las subclase entonces hablaremos de generalización. Las principales ventajas de la herencia son: Los componentes comunies solo existen una unica vez en la superclase de modo que pueden ser mantenidos centralmente. Los componentes...

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

HERENCIA QUE ES? Es la capacidad que tiene una clase de heredar los atributos y metodos de otra clase Nos permite crear una nueva clase a partir de la existente, heredando la nueva clase sus propiedades Denominaremos ESPECIALIZACION a la relacion en donde una clase (la subclase, que puede agregar nuevos componentes como atributos y metodos) hereda todas las caracteristicas de otra clase (la superclase) GENERALIZACIÓN: Es cuando invertimos el punto de vista, es decir la superclase hereda las caracteristicas de las sublcases. VENTAJAS: Los componentes comunes solo existen una unica vez en la superclase Los componentes en las superclases estan disponibles en las subclases Una de las principales ventajas que presenta el concepto...

Acceder a esta publicación

Creado y Compartido por: Ixhel Magai Lopez Valencia / Disponibilidad Laboral: PartTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


HERENCIA – LECCION 2-2 ¿QUE ES LA HERENCIA? Es la capacidad que tiene una clase de heredar los atributos y métodos de otra clase La herencia permite crear una nueva clase a partir de una existente, heredando la nueva clase sus propiedades. Denominaremos ESPECIALIZACION 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 Las principales ventajas de la herencia son: - Los componentes comunes solo existen una única vez en la superclase de modo que pueden ser mantenidos centralmente -...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

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...

Acceder a esta publicación

Creado y Compartido por: Denisse Adriana Hernandez Trujillo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Que es la herencia?. Es la capacidad que tiene una clase de heredar los atributos y métodos de otra clase. La herencia permite crear una nueva clase a partir de una ya existente, heredando la nueva clase sus propiedades. Denominaremos especialización a la relación en donde una clase ( la subclase ) hereda todas las principales características de la otra clase ( superclase ), la subclase puede agregar nuevos componentes ( atributos y métodos ) y reemplazar las implementaciones con los métodos heredados. Si invertimos el punto de vista y en este caso la superclase es la que hereda las características de la subclase estaríamos hablando de una generalización. Las ventajas de la herencia:...

Acceder a esta publicación

Creado y Compartido por: Tobias Emanuel Mareco Rojas / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Herencia: La herencia permite crear una nueva clase a partir de una nueva 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>. La nueva clase <subclass> hereda todos los componentes de la clase ya existente <superclase>. La nueva clase se conoce como la subclase de la clase de la que procede. La clase original se conoce como la superclase de la nueva clase. Si no se añade ninguna declaración a la subclase, esta contiene los mismos componentes que la superclase. De cualquier manera, sólo los componentes públicos y privados...

Acceder a esta publicación

Creado y Compartido por: Enrique Horacio Lugo Lander

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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....

Acceder a esta publicación

Creado y Compartido por: Elda Martinez Soto

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


HERENCIA: Capacidad de una clase de heredar los atributos y métodos de otra clase. Permite crear una nueva clase a partir de una existente heredando sus propiedades. Especialización: una clase (subclase) hereda todas las principales características de otra clase (superclase). Generalización: cuando la superclase hereda las características de la subclase. Ventajas: -> los componentes comunes se pueden mantener centralmente al existir una única vez en la superclase. -> se evitan implementaciones redundantes, pues los componentes de las superclases están disponibles también en las subclases. ->. proporciona reusabilidad del código pues se puede reutilizar el código...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!