Um programador recebeu a tarefa de desenvolver a funcionalidade denominada “Realizar Venda Delivery”, parte do sistema de vendas que sua equipe está desenvolvendo para a hamburgueria McFastFoodKing. Durante a avaliação das classes existentes nesse sistema o programador percebeu que a classe “VendaNoBalcao”, utilizado para implementar a funcionalidade “Realizar Venda no Balcão”, já possuía quase todos os atributos e métodos da classe VendaDelivery que ele pretendia criar para implementar para realizar a sua tarefa. Devido a essas similaridades e considerando que o código orientado a objetos deve preservar a clareza dos conceitos associados às classes de objetos existentes no mundo real, o programador sempre poderá:
( ) Criar uma associação de generalização onde VendaNoBalcao é a classe base e VendaDelivery a classe derivada.
( ) Criar uma associação de generalização onde VendaDelivery é a classe base e VendaNoBalcao a classe derivada.
( x ) Criar uma classe genérica Venda, onde as classes VendaNoBalcao e VendaDelivery seriam as derivadas, e transferir para Venda todos os atributos e métodos comuns de VendaNoBalcao e VendaDelivery.
( ) Criar a classe VendaDelivery sem pensar em aproveitar os atributos e métodos classe VendaNoBalcao, pois elas pertencem a funcionalidades diferentes.
( ) Estender a classe VendaNoBalcao com os métodos e atributos necessários para implementar a sua funcionalidade, evitando-se assim a criação da classe VendaDelivery.
Questão – 00822.
Nenhum comentário:
Postar um comentário
Deixe seu comentário, exponha neste espaço sua opinião.