Avalados por :
Na minha publicação anterior sobre Programação Orientada a Objetos com ABAP Objects: Herança , aprendemos sobre as relações de herança. Como você se lembra, o termo herança é usado para descrever uma relação de especialização entre classes relacionadas em um determinado domínio de problemas. Aqui, em vez de reinventar a roda, definimos uma nova classe em termos de uma já existente. A nova classe (ou subclasse) é dita herdar da classe existente (ou classe pai). Na maioria das vezes, quando se fala de herança, o foco está na reutilização de código e no conceito de herança de implementação . A herança de implementação trata de reduzir o código redundante aproveitando os componentes herdados para implementar novos requisitos em vez de começar do zero.
Um aspecto das relações de herança que às vezes é negligenciado é que as subclasses também herdam a interface de suas classes pai. Esse tipo de herança é descrito usando o termo herança de interface . A herança de interface possibilita o uso de instâncias de classes em uma hierarquia de herança de forma intercambiável, um conceito conhecido como polimorfismo . Nesta publicação, exploraremos a ideia do polimorfismo e mostraremos como usá-lo para desenvolver um código altamente flexível.
Como você se lembrará da minha última publicação sobre Programação Orientada a Objetos com ABAP Objects: Herança , um dos critérios para identificar as relações de herança é perguntar se uma subclasse prospectiva se encaixa em uma relação "É-Um" com uma classe pai dada. Por exemplo, um círculo é um tipo de forma, então definir uma classe "Círculo" em termos de uma classe abstrata "Forma" faz sentido. Além dos benefícios óbvios de reutilizar qualquer implementação fornecida na classe "Forma", pensemos no que essa relação significa de uma perspectiva de interface. Como a classe "Círculo" herda todos os atributos/métodos públicos da classe "Forma", podemos interagir com instâncias dessa classe da mesma maneira que fazemos com instâncias da classe "Forma". Em outras palavras, se a classe "Forma" define um método público chamado "desenhar()", a classe "Círculo" também o faz. Portanto, o código necessário para chamar esse método em instâncias de qualquer uma das classes é exatamente o mesmo, mesmo que a implementação subjacente seja muito diferente.
...contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute