Questões de Concurso
Sobre orientação a objetos em engenharia de software
Foram encontradas 1.154 questões
O conceito de Orientação a Objetos aplicado à classe Funcionario para impedir sua instanciação direta, ao mesmo tempo em que impõe a obrigatoriedade de implementação do método calcularRemuneracaoMensal() nas suas subclasses é o(a)
class Financeiro { void calculaImpostoDeRenda() { // cálculo do imposto } void geraRelatorioPDF() { // código para gerar PDF } }
Segundo os princípios de projeto conhecidos como S.O.L.I.D., o código mencionado acima viola o princípio:
No livro “Design Patterns: Elements of Reusable Object-Oriented Software”, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides introduzem os princípios de padrões de projetos e fornecem um catálogo bastante utilizado por desenvolvedores de software. Os padrões são conhecidos como Padrões GoF (Gang of Four), em referência aos quatro autores do livro.
O diagrama de sequência acima ilustra as colaborações entre objetos que possibilitam implementar qual padrão GoF?
Neste contexto, o padrão de projeto mais indicado é o
I. A coesão refere-se ao grau em que os elementos de um módulo pertencem juntos.
II. O acoplamento forte entre classes é sempre desejável para um bom design orientado a objetos.
III. O princípio da responsabilidade única afirma que uma classe deve ter apenas uma razão para mudar.
IV. A composição é sempre preferível à herança em todos os cenários de design orientado a objetos.
Assinale a alternativa que contenha APENAS as afirmações corretas.
Dentre os princípios GRASP podemos identificar os seguintes:
Adaptado de Eduardo Bezerra, Princípios de Análise e Projeto de Sistemas Com UML, 2 Edição, Editora Elsevier, Rio de Janeiro, 2007.
Em relação aos conceitos da orientação a objetos, avalie as seguintes afirmações:
I. Na generalização, classes semelhantes são agrupadas em uma hierarquia. Cada classe em um nível de hierarquia herda as características e comportamentos das classes as quais está nos níveis abaixo dela.
Il. O polimorfismo indica a capacidade de abstrair varias implementações diferentes em uma única interface.
Ill. A composição permite que sejam criados objetos a partir da reunião de outros objetos.
IV. Segundo o mecanismo do encapsulamento, a implementação do método que o objeto requisitado usa para realizar a operação precisa ser conhecida dos objetos requisitantes.
Assinale a alternativa que apresenta APENAS as afirmações corretas.
Nessa situação, o princípio de SOLID e o princípio de GRASP que atendem adequadamente aos requisitos mencionados são, respectivamente,
I. Quanto maior a dependência entre duas classes, maior será a coesão delas.
II. Aumentar o acoplamento entre classes é uma das boas práticas da orientação a objetos.
III. Forte acoplamento significa que uma classe deve ter uma única responsabilidade.
(__) A associação entre classes pode ser unidirecional ou bidirecional, dependendo da comunicação entre objetos.
(__) Herança é representada em UML com uma seta sólida com ponta aberta apontando da superclasse para a subclasse.
(__) Classes abstratas não podem conter métodos implementados, apenas assinaturas.
(__) A composição é um tipo de associação em que o objeto composto controla completamente o ciclo de vida da parte.
Assinale a sequência CORRETA de cima para baixo.
Trata-se de um padrão que fornece uma interface para criar famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas, seja porque estas ainda são desconhecidas ou para permitir maior escalabilidade no futuro.
O padrão de projeto descrito é o: