Questões de Tecnologia da Informação · ProGPe UFSCAR

Tecnologia da InformaçãoProgramação orientada a objetosProGPe UFSCAR 2012

UFSCAR

Questão de Tecnologia da Informação

Na programação orientada a objetos, a herança simples pode ser usada para estender comportamento. No entanto, ela possui algumas limitações: I. Com herança, só é possível estender comportamento em tempo de compilação. Não é possível estender comportamento em tempo de execução; II. A interface do comportamento estendido deve ser mantida. Em outras palavras, a assinatura dos métodos correspondentes ao comportamento de uma classe deve ser a mesma nas subclasses que estendem esse comportamento. Não é possível, por exemplo, adicionar um parâmetro ou modificar o tipo de retorno de um método referente ao comportamento estendido; III. Com herança simples, caso exista um grande número de extensões independentes de comportamento, seria necessário um número ainda maior de subclasses para cobrir todas as combinações possíveis, o que é pouco prático; e IV. Na herança, todas as instâncias da subclasse tem obrigatoriamente seu comportamento estendido. Não é possível fazer com que apenas algumas instâncias tenham o comportamento estendido sem criar uma outra subclasse. Uma alternativa à herança para extensão de comportamento é o padrão de projeto Decorador (em inglês, Decorator), cuja estrutura é exemplificada no diagrama de classes a seguir:

Figura da questão (imagem do caderno de prova)

Quais das limitações anteriores podem ser superadas com o uso do padrão Decorador?

Sua resposta

Mais questões de Programação orientada a objetos

Questão de prova oficial, com o gabarito definitivo publicado pela banca. Reproduzida para fins de estudo.