SóProvas


ID
638224
Banca
FUMARC
Órgão
PRODEMGE
Ano
2011
Provas
Disciplina
Engenharia de Software
Assuntos

Analise as afrmativas abaixo sobre os conceitos de Programação Orientada a Objetos.
I. A “Herança” possibilita a criação de novas classes a partir de classes mais genéricas.
II. A “Sobrecarga” permite alterar o comportamento de um método na classe flha mantendo a mesma assinatura defnida na classe mãe.
III. O “Polimorfsmo” permite alterar o comportamento de uma classe dentro de uma hierarquia de classes.
Assinale a alternativa VERDADEIRA:

Alternativas
Comentários
  • Sob a visão do professor Francisco Adell Péricas, seguem abaixo algumas informações a cerca deste assunto:

    1) Com relação a herança, diz ele em sua obra:
    "...Consiste na capacidade de construir novas classes a partir de outras existentes. Nesse processo, os dados e métodos de uma classe existente, chamada de classe base ou superclasse, são herdados pela nova classe, chamada de classe derivada ou subclasse.".

    Com esta definição em mente, é possível assinalar o item "I" como correto.

    2) A respeito da Sobreposição, o professor ressalta:
    "...Entretanto, uma das finalidades de permitir a derivação de classes é atribuir a elas novas funcionalidades alterando o comportamento dos métodos. Isto é possível acrescentando-se novos métodos às subclasses, sobrepondo qualquer dos métodos existentes na superclasse, declarando o novo método na subclasse exatamente com o mesmo nome e lista de argumentos, como consta na superclasse...".

    Dessa forma, o item II está incorreto, pois, se refere ao conceito de sobreposição e não, sobrecarga.

    3) Sobre o polmorfismo, cita o autor:
    "...Uma característica importante das classes reside no fato de que as subclasses de uma dada classe são consideradas do mesmo tipo da sua classe pai. Isto é chamado de polimorfismo. Este permite a realização de alterações no comportamento de diferentes tipos de classes, desde que mantenham algo em comum, como por exemplo a obediência hierarquica de classes...".

    Sob este pressuposto, consideraremos correto o item III.

  • Herança é um princípio de orientação a objetos, que permite que classes compartilhem atributos e métodos, através de "heranças". Ela é usada na intenção de reaproveitar código ou comportamento generalizado ou especializar operações ou atributos. O conceito de herança de várias classes é conhecido como herança múltipla.

    Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa.



    Polimorfismo é um recurso que permite dados de diferentes tipos (objetos de diferentes classes) serem tratados por uma interface uniforme. Um método polimórfico pode ser aplicado à objetos de diferentes tipos (classes), sendo que estas classes podem ser representadas por uma estrutura hierárquica.
    http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming
    http://en.wikipedia.org/wiki/Polymorphism_(computer_science)

    Sobrecarga é um recurso que permite a criação de diversos métodos com o mesmo nome, que podem diferir uns dos outros em função do tipo de dados de entrada (parâmetros) e da saída do método. Sobrecarga não deve ser confundida com polimorfismo.
    http://en.wikipedia.org/wiki/Method_overloading

    Polimorfismo não é o mesmo que sobrecarga de método (method overloading). Polimorfismo está relacionado com a aplicação de uma implementação à uma interface ou à uma classe base. Sobrecarga refere-se à métodos que possuem o mesmo nome, mas diferentes assinaturas dentro da mesma classe. E sobreescrita (method overriding) acontece quando uma subclasse substitui o comportamento (implementação) de um ou mais métodos de sua classe pai. Nem sobrecarga, nem sobreescrita são implementações do polimorfismo.
  • Esclarecendo o erro da resposta II:

    A “Sobrecarga” permite alterar o comportamento de um método na classe flha mantendo a mesma assinatura defnida na classe mãe.

    Sobrecarga implica assinaturas diferentes. No demais concordo com os outros comentários a respito dos itens I e III.