Avalados por :
En mi publicación anterior sobre Programación Orientada a Objetos con ABAP Objects: Herencia , aprendimos sobre las relaciones de herencia. Como recordarás, el término herencia se utiliza para describir una relación de especialización entre clases relacionadas en un dominio de problemas dado. Aquí, en lugar de reinventar la rueda, definimos una nueva clase en términos de una ya existente. La nueva clase (o subclase) se dice que hereda de la clase existente (o clase padre). La mayoría de las veces, cuando se habla de herencia, se centran en la reutilización de código y en el concepto de herencia de implementación . La herencia de implementación se trata de reducir el código redundante aprovechando los componentes heredados para implementar nuevos requisitos en lugar de comenzar desde cero.
Un aspecto de las relaciones de herencia que a veces se pasa por alto es que las subclases también heredan la interfaz de sus clases padre. Este tipo de herencia se describe utilizando el término herencia de interfaz . La herencia de interfaz hace posible usar instancias de clases en una jerarquía de herencia de manera intercambiable, un concepto conocido como polimorfismo . En esta publicación, exploraremos la idea del polimorfismo y te mostraremos cómo usarlo para desarrollar un código altamente flexible.
Como recordarás de mi última publicación sobre Programación Orientada a Objetos con ABAP Objects: Herencia , uno de los criterios para identificar las relaciones de herencia es preguntarte si una subclase prospectiva encaja en una relación "Es-Un" con una clase padre dada. Por ejemplo, un círculo es un tipo de forma, por lo que definir una clase "Círculo" en términos de una clase abstracta "Forma" tiene sentido. Más allá de los beneficios obvios de reutilizar cualquier implementación proporcionada en la clase "Forma", pensemos en lo que significa esta relación desde una perspectiva de interfaz. Dado que la clase "Círculo" hereda todos los atributos/métodos públicos de la clase "Forma", podemos interactuar con instancias de esta clase de la misma manera que lo hacemos con instancias de la clase "Forma". En otras palabras, si la clase "Forma" define un método público llamado "dibujar()", la clase "Círculo" también lo hace. Por lo tanto, el código necesario para llamar a este método en instancias de cualquiera de las clases es exactamente el mismo, incluso si la implementación subyacente es muy diferente.
...contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute