Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Programação orientada a objetos: herança e polimorfismo 1. Ao analisar um modelo de classes de um sistema, você identificou que existe um relacionamento de herança entre as classes MeioPagamento e CartaoCredito, sendo a classe mãe a MeioPagamento e a classe herdeira a CartaoCredito. Sobre essa situação, assinale a alternativa correta: R: B. Todos os atributos da classe MeioPagamento serão herdados pela classe CartaoCredito. Como existe um relacionamento de herança entre as classes, sendo a classe MeioPagamento a mãe e a CartaoCredito a herdeira, é possível determinar que todos os atributos e métodos da classe MeioPagamento serão herdados pela classe CartaoCredito, independente da sua visibilidade. Também qualquer novo atributo criado na classe MeioPagamento passará a ser herdado pela classe CartaoCredito e não existe a necessidade de criar antes um objeto da classe MeioPagamento para criar um da classe CartaoCredito. 2. Utilizando ainda o exemplo do exercício anterior, caso existisse a necessidade de inserir um atributo para armazenar o valor do limite de gastos diários, que seria único por CartaoCredito, lembrando que a classe MeioPagamento também tem como herdeira a classe CartaoDebito, assinale a alternativa correta sobre essa implementação: R: C. O atributo limiteGastosDiario seria criado somente na classe MeioPagamento O atributo seria criado somente na classe MeioPagamento. Apesar do limiteGastosDiario ser único por CartaoCredito, isso se refere ao valor do atributo limiteGastosDiario, então não existe relação com o atributo não ser possível de ser herdado. Além do mais, CartaoCredito é um tipo de MeioPagamento e atributos comuns a MeioPagamento devem ficar na classe mãe. Os métodos get e set seriam criados na classe MeioPagamento, mas o atributo limiteGastosDiario também e não um em cada classe. Não existiria necessidade de criar um atributo em cada classe, mesmo que CartaoDebito e CartaoCredito possuam limiteGastosDiario diferentes. 3. Em algumas linguagens de programação orientada a objetos, como C++ e Python, é possível que uma classe possua relacionamento de herança com mais de uma classe. Assinale a alternativa correta quanto ao nome desse tipo de herança: R: D. Herança Múltipla. Quando uma classe tem relacionamento de herança com mais de uma classe, esse tipo de relacionamento é chamado de Herança Múltipla. As demais denominações - Herança Composta, Herança Binária, Herança Dupla, Herança Associativa - não existem. Dizem-se Herança Simples, quando herda de apenas uma classe, e Herança Múltipla como nesses casos. 4. Em herança entre classes, existe a possibilidade de uma classe herdeira reescrever um método implementado pela classe mãe. Dessa forma, a classe herdeira atribui um comportamento diferenciado ao da classe mãe, sendo o nome desse conceito polimorfismo. Assinale a alternativa correta sobre o polimorfismo: E. O polimorfismo é uma característica em orientação a objetos que usa a hierarquia de objetos. O polimorfismo é um conceito que se utiliza de herança e consequentemente hierarquia de objetos. O polimorfismo estático, no qual a assinatura dos métodos é alterada, trata de um conceito que surgiu com os demais, assim como herança na orientação a objetos, e pode ser aplicado tanto em casos de herança simples como múltiplas. Não existe limitação quanto à quantidade de métodos da superclasse por uma subclasse, desde que esta herde os métodos da superclasse. 5. Existem duas formas de implementação de polimorfismo. Uma se dá quando se tem a mesma operação implementada várias vezes na mesma classe e a outra acontece na herança, quando a classe herdeira altera o método original. Assinale a alternativa correta quanto ao nome desses tipos de implementação de polimorfismo: R: A. Sobrecarga e Sobreposição. O tipo de polimorfismo onde um método é implementado várias vezes é chamado de polimorfismo estático ou Sobrecarga e o que altera o método original é chamado de polimorfismo dinâmico ou Sobreposição. Portanto Estático e Sobrecarga são a mesma coisa, assim como Dinâmico e Sobreposição. Já Alternativo não é um tipo de implementação de Polimorfismo.o de relacionamento.