Em um projeto de software orientado a objetos, surgiu a necessidade de modelar um certo comportamento alternativo com base no tipo específico de uma determinada entidade. Procedimento similar foi desenvolvido no passado, usando lógica condicional através dos comandos se – então – senão em uma linguagem de programação estruturada. Qual recurso o programador deverá utilizar para solucionar a questão nesse novo projeto?
Considere os dois trechos de implementações de classes, produzidos com a linguagem Java. (As reticências representam partes irrelevantes para a questão).
O diagrama de classes em UML que pode ser inferido única e exclusivamente a partir dos trechos de código fornecidos é
O mecanismo de composição de objetos é essencial em um sistema de software orientado a objetos, pois permite que esses mesmos objetos colaborem entre si para, por meio de troca de mensagens, produzir resultados externamente visíveis aos usuários. Nesse contexto, considere as afirmativas abaixo.
I - Um objeto de uma classe C qualquer pode ser composto de outros objetos, sendo que esses últimos podem também ser da classe C.
II - Uma mensagem pode ser enviada de um objeto da classe ClasseA para um objeto da classe ClasseB, sem que a definição de ClasseA faça referência à ClasseB.
III - Uma operação, definida em uma classe abstrata C qualquer, pode ser invocada por um objeto de alguma superclasse de C.
Analise as afirmativas a seguir relativas ao paradigma da orientação a objetos.
I - O princípio do encapsulamento preconiza que um objeto deve esconder a sua complexidade interna.
II - Uma mensagem de um objeto A para um objeto B indica que A realizou uma tarefa requisitada por B.
III - A existência da mesma operação polimórfica definida em duas classes, ClasseA e ClasseB, implica necessariamente que ou ClasseA seja subclasse de ClasseB, ou que ClasseB seja subclasse de ClasseA.
No projeto (design) de um sistema de software orientado a objetos (OO), há diversos mecanismos que podem ser aplicados para assegurar a construção de um modelo de objetos com uma correta distribuição de responsabilidades. Nesse contexto, relacione alguns conceitos relativos ao projeto de um sistema OO, apresentados na coluna da esquerda, com as suas respectivas características, indicadas na coluna da direita.
Sabendo-se que os padrões de projeto podem ser classificados considerando-se o critério de escopo, qual, dentre os padrões de projeto abaixo, possui escopo de classe?