

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
No projeto orientado a objetos, cada objeto encapsula dados e comportamentos, o que permite modificações internas sem que outros objetos sejam afetados.
Certo
Errado
A Orientação a Objetos (OO) constitui um paradigma aplicado na programação, que consiste na interação entre diversas unidades chamadas de objetos. A Programação Orientada a Objetos se apoia em quatro pilares principais, sendo que em um deles realiza-se o agrupamento das coisas que fazem sentido estarem juntas, para fins de organização e reutilização melhor do código. Em outro pilar, tem-se a possibilidade de um objeto assumir diversas formas diferentes na orientação a objetos.
Esses dois pilares da OO são conhecidos, respectivamente, como:
Encapsulamento e abstração.
Herança e polimorfismo.
Herança e abstração.
Encapsulamento e polimorfismo.
Durante a revisão de código, um desenvolvedor sênior identificou que uma classe Fatura permite que outras classes modifiquem diretamente seu atributo status (ex: fatura.status = “PAGO”). O sênior recomendou que o atributo status seja tornado privado e que a modificação seja feita apenas através de um método público, como pagarFatura(), que conteria as regras de negócio.
Com base nessa situação hipotética, assinale a opção que apresenta o princípio da programação orientada a objetos que fundamenta a recomendação do desenvolvedor sênior.
polimorfismo
herança
abstração
encapsulamento
delegação
O paradigma de orientação a objetos (POO) organiza o software em torno de objetos, que são instâncias de classes e interagem entre si para realizar tarefas. Um dos conceitos fundamentais de POO permite que um mesmo método seja definido com diferentes parâmetros, como tipos ou quantidades, possibilitando que o método execute funções semelhantes, mas adaptadas a diferentes necessidades. Esse conceito é definido como
sobrescrita.
estado.
dependência.
sobrecarga.
agregação.
Sobre o desenvolvimento orientado a objetos, analise as afirmações:
l. A coesão refere-se ao grau em que os elementos de um módulo pertencem juntos.
Il. O acoplamento forte entre classes é sempre desejável para um bom design orientado a objetos.
llI. 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.
I e II.
II e III.
III e IV.
I e III.
II e IV.
Considerando que a escolha entre herança e composição impacta diretamente a flexibilidade e o acoplamento de um sistema orientado a objetos, assinale a opção correta.
Essa escolha não afeta a manutenibilidade do sistema.
Por modelar comportamentos dinâmicos, a composição permite maior flexibilidade.
Herança favorece maior desacoplamento que composição.
A composição dificulta a reutilização de código.
A herança múltipla é recomendada sempre que possível.
Em um sistema de folha de pagamento da Assembleia, o Analista de Sistemas está modelando a hierarquia de funcionários. A classe base Pessoa contém atributos comuns como nome e cpf. A classe Funcionario herda de Pessoa e possui o método calcularRemuneracaoMensal(). No entanto, a forma de cálculo varia radicalmente entre subtipos como Efetivo e Comissionado, e a classe Funcionario por si só nunca deve ser instanciada, servindo apenas como um contrato para as classes filhas.
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)
Encapsulamento, por meio de um construtor privado.
Polimorfismo, por meio de sobrecarga do método.
Herança Múltipla, por meio de interfaces.
Abstração, por meio da definição como Classe Abstrata e método Abstrato.
Coesão, garantindo a especialização dos métodos.
Considere um sistema desenvolvido com base nos princípios da Orientação a Objetos. O sistema possui uma classe base abstrata Funcionario e duas classes derivadas: Gerente e Vendedor.
A classe Funcionario define um método calcularSalario() que é implementado de forma diferente em Gerente (com bônus de gestão) e Vendedor (com comissão de vendas). A capacidade de utilizar uma referência do tipo Funcionario para chamar o método calcularSalario() e ter a versão correta do método (Gerente ou Vendedor) sendo executada em tempo de execução, é uma característica fundamental do seguinte conceito da Orientação a Objetos:
polimorfismo, especificamente o polimorfismo de inclusão.
encapsulamento, protegendo os dados internos das classes.
herança, definindo a relação 'é um tipo de' entre as classes.
abstração, garantindo que apenas detalhes essenciais sejam expostos.
coesão, medindo o quão relacionados estão os elementos dentro de um módulo.
A análise orientada a objetos considera entidades do sistema como objetos que interagem entre si por meio de métodos e atributos.
Certo
Errado
O paradigma da orientação a objetos visualiza um sistema de software como uma coleção de agentes interconectados chamados objetos. É pela interação entre objetos que uma tarefa computacional é realizada. Um dos principais conceitos do paradigma da orientação a objetos é a abstração, que é um processo mental pelo qual nós seres humanos nos atemos aos aspectos mais importantes (relevantes) de alguma coisa, ao mesmo tempo que ignoramos os aspectos menos importantes. A abstração é um princípio básico da orientação a objetos e sua aplicação pode ser vista como base para outros conceitos, tais como: Encapsulamento, Polimorfismo, Generalização e Composição.
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 às quais está nos níveis abaixo dela.
Il. O polimorfismo indica a capacidade de abstrair várias implementações diferentes em uma única interface.
IIl. 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.
I e ll.
Il e III.
IlI e IV.
l e III.
ll e IV.
Na orientação a objetos, alguns conceitos fundamentais permitem organizar e reutilizar código de maneira eficiente. Um deles possibilita que um mesmo método apresente comportamentos diferentes, de acordo com o objeto que o invoca. Por exemplo: animal.emitirSom() pode resultar em "latido" quando o objeto é um cachorro e em "miado" quando o objeto é um gato. Qual é esse conceito?
Polimorfismo.
Encapsulamento.
Herança.
Abstração.
Sobrecarga de operadores.
Analise as afirmativas a seguir sobre programação orientada a objetos:
I - Programação Orientada a Objetos (POO) é um paradigma de programação que organiza o código em torno de "objetos", que são instâncias de "classes", esses objetos representam entidades do mundo real ou conceitos abstratos.
II - Uma vantagem da Programação Orientada a Objetos (POO) é que através da herança, você pode reutilizar métodos e atributos de classes existentes, otimizando a escrita deste código.
III -Apesar da otimização de códigos (usando por exemplo a herança) a Programação Orientada a Objetos POO não permite modelar sistemas complexos de forma organizada e estruturada.
Qual(is) afirmativa(s) está(ão) correta(s)?
Somente as afirmativas l e ll.
Somente as afirmativas l e III.
Somente as afirmativas II e III.
Somente a afirmativa I.
Todas as três afirmativas estão corretas.
O projeto orientado a objetos não pode ser combinado com metodologias ágeis, pois as metodologias ágeis requerem abordagens exclusivamente orientadas a dados.
Certo
Errado
Na programação orientada a objetos, um dos conceitos mais importantes é o de encapsulamento, essencial para garantir a segurança e a integridade dos dados. Esse recurso provê
restrição do acesso direto aos dados internos de um objeto, expondo apenas os métodos desejados para manipulá-los.
capacidade de uma classe herdar atributos e métodos de outra classe.
capacidade de um método se comportar de formas diferentes, de acordo com o objeto que o invoca.
processo de criação de novas classes com base em classes existentes, sem alterações.
técnica de dividir um programa em funções e procedimentos menores para facilitar o desenvolvimento.
Em um design orientado a objetos, o uso excessivo de herança pode aumentar a complexidade e o acoplamento entre classes, tornando o sistema mais difícil de manter e de evoluir.
Certo
Errado
A equipe de desenvolvimento da SEMCONGER está elaborando um sistema de gestão de frota de veículos oficiais. Diferentes abordagens de Programação Orientada a Objetos (POO) foram utilizadas para organizar o código de forma eficiente. A seguir estão quatro trechos de código que implementam diferentes conceitos de POO; analise-os.

Com base nos códigos apresentados, assinale a alternativa que classifica corretamente os conceitos aplicados em cada um deles.
Código 1. Encapsulamento; Código 2. Polimorfismo; Código 3. Herança; Código 4. Abstração.
Código 1. Herança; Código 2. Polimorfismo; Código 3. Encapsulamento; Código 4. Abstração.
Código 1. Polimorfismo; Código 2. Herança; Código 3. Encapsulamento; Código 4. Abstração.
Código 1. Herança; Código 2. Abstração; Código 3. Polimorfismo; Código 4. Encapsulamento.
Na linha 37, a forma correta de se criar um objeto a partir da classe Retangulo é:
obj Retangulo = new Retangulo();
obj neuRetangulo = new Retangulo;
new meuRetangulo = Retangulo;
Retangulo = new Retangulo();
Retangulo meuRetangulo = new Retangulo();
Considere os conceitos de Programação Orientada a Objetos (POO) e o seguinte trecho de código em Java e analise as afirmativas subsequentes sobre programação orientada a objetos usando Java.

(Código adaptado de código disponível em:
https://www.devmedia.com.br/construtores-em-java-prim eiros-passos/28618)
I- O método descrição da classe Carro sobrescreve o método da classe Veiculo.
II - A classe Veiculo deriva diretamente da superclasse Javamaster.
III - O método descrição da classe Carro chama o método descrição da classe Veiculo usando super.descricao(), o que é permitido e comum em POO para estender comportamentos.
Qual(is) afirmativa(s) está(ão) correta(s)?
Todas as três afirmativas estão corretas.
Somente as afirmativas I e III.
Somente as afirmativas II e III.
Somente as afirmativas I e II.
Somente a afirmativa I.
Uma linguagem orientada a objetos deve fornecer suporte para três recursos chave de linguagem, quais sejam:
Polimorfismo, recursão e herança.
Tipos de dados abstratos, herança e vinculação dinâmica.
Tipos de dados abstratos, recursão e vinculação dinâmica.
Herança simples, herança múltipla e herança aninhada.
Tipos de dados abstratos, mônadas e encapsulamento.
A Programação Orientada a Objetos (POO) utiliza a abstração para gerenciar a complexidade, permitindo que os desenvolvedores se concentrem nos aspectos essenciais de um objeto, ignorando os detalhes de implementação. Em linguagens como Java, a abstração pode ser implementada por meio de classes abstratas e interfaces, que definem contratos que outras classes devem seguir. Acerca desses mecanismos de abstração, registre V, para as afirmativas verdadeiras, e F, para as falsas:
(__)Uma classe abstrata (declarada com abstract) pode conter tanto métodos abstratos (sem corpo) quanto métodos concretos (com implementação).
(__)Interfaces (declaradas com interface) em Java, antes da versão 8, podiam conter apenas assinaturas de métodos (abstratos e públicos) e constantes (estáticas e finais).
(__)Uma classe pode estender (herdar) múltiplas classes abstratas, mas só pode implementar uma única interface, para evitar o problema do diamante.
(__)Não é possível criar instâncias (objetos) diretamente de uma classe abstrata ou de uma interface usando o operador new.
Assinale a alternativa que apresenta a sequência correta, de cima para baixo.
V, V, F, V.
F, V, V, F.
F, F, V, V.
V, F, F, V.