

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.
Associe cada definição seguinte ao conceito correspondente:
1. Herança, 2. Polimorfismo, 3. Encapsulamento, 4. Abstração
( ) Simplifica a complexidade ao expor apenas os aspectos essenciais de um objeto ou sistema, ocultando detalhes desnecessários para o usuário.
( ) Permite que classes compartilhem características comuns sem duplicação de código.
( ) Permite que métodos com o mesmo nome tenham diferentes implementações em classes distintas.
( ) Organiza dados e métodos relacionados em uma única unidade, controlando o acesso aos seus componentes internos por meio de modificadores como private ou protected, garantindo a integridade dos dados.
Qual a sequência correta para associar as definições aos conceitos?
1, 2, 3, 4.
2, 1, 4, 3.
4, 1, 2, 3.
4, 3, 2, 1.
3, 1, 2, 4.
Sabemos que, na programação orientada a objetos, as classes podem herdar características e ações de outras classes. A linguagem Java é orientada a objetos e permite a criação de classes pais e filhas.
Na linguagem Java, com base na criação de uma subclasse “Onibus” a partir de uma superclasse “Transporte”, assinale a alternativa com o código correto:
public class Onibus() extends Transporte()
public class Transporte() implements Onibus()
public class Onibus extends Transporte
public class Onibus implements Transporte
public class Transporte extends Onibus
Em programação orientada a objetos, a sobrecarga de métodos permite que métodos com mesmo nome e mesma assinatura tenham comportamentos diferentes, desde que estejam em classes distintas.
Certo
Errado
O trecho de código C# a seguir mostra uma classe derivada de um sistema de cálculo de rescisão trabalhista. O código recebe o salário base e o tempo de serviço (em meses) do trabalhador para calcular a indenização proporcional.

Considerando o conceito de herança em C# e que o código será executado em condições ideais, as lacunas I e II são, correta e respectivamente, preenchidas com
public class CalculoRescisao : Object
indenizacao
override class Rescisao : Object
this.indenizacao
class CalculoRescisaoSalario extends Object
indenizacao*salarioBase
public class Rescisao : BaseClass
this.mesesTrabalhados*indenizacao
class BaseRescisao inherit Object
indenizacao
Um dos pilares no paradigma de orientação a objeto é o conceito de encapsulamento.
O encapsulamento promove a(o)
criação de interfaces gráficas complexas.
definição de métodos abstratos que devem ser implementados pelas subclasses.
proteção de dados internos de um objeto, controlando o acesso a eles.
reutilização de código por meio da herança múltipla.
acesso irrestrito a todos os membros de uma classe.
Em um sistema de gerenciamento de clientes, a classe Pessoa define o método toString() para exibir informações básicas. A classe Cliente, que herda de Pessoa, redefine o método toString() para incluir também o número do cartão de fidelidade. O conceito de orientação a objetos aplicado nessa situação, trata-se de
sobrescrita, pois um método herdado está sendo redefinido na subclasse mantendo a mesma assinatura.
sobrecarga, pois o método toString() foi declarado com um parâmetro adicional na subclasse.
sobrecarga, pois métodos com o mesmo nome são sempre sobrecarga.
encapsulamento, pois o método está escondendo a implementação original.
abstração, pois a subclasse não implementa comportamento próprio.
Na programação orientada a objetos, os conceitos de herança, polimorfismo e abstração são fundamentais para o desenvolvimento de sistemas bem estruturados. Compreender como esses pilares funcionam ajuda a evitar erros conceituais durante o desenvolvimento e testes.
Considere o seguinte código em Java:

Analisando o código apresentado anteriormente, a correta identificação dos conceitos de orientação a objetos aplicados corresponde a
Herança: veículo herda de carro e motocicleta;
Polimorfismo: método ligar() é igual em todas as classes;
Abstração: todas as classes podem ser instanciadas diretamente.
Herança: métodos acelerar() são copiados entre as classes;
Polimorfismo: apenas ocorre quando há sobrecarga de métodos;
Abstração: significa esconder todos os atributos como private.
Herança: ocorre apenas entre classes concretas;
Polimorfismo: método calcularConsumo() retorna sempre ao mesmo tipo;
Abstração: é representada pelos construtores das classes.
Herança: carro e motocicleta herdam de veículo;
Polimorfismo: métodos acelerar() têm comportamentos diferentes nas subclasses;
Abstração: classe veiculo define interface comum sem implementação específica dos métodos abstratos.
Herança: veículo é uma especialização de carro;
Polimorfismo: todos os métodos devem ter exatamente a mesma implementação;
Abstração: classes abstratas não podem ter métodos concretos.
Sobre a programação orientada a objetos, analise a sentença abaixo:
Herança é o relacionamento entre classes em que uma classe chamada de subclasse é uma extensão de outra classe chamada de superclasse (1ª parte), sendo que a superclasse consegue reaproveitar os atributos e métodos da subclasse (2ª parte) e a subclasse pode definir seus próprios atributos e métodos (3ª parte).
Quais partes estão corretas?
Apenas a 2ª parte.
Apenas a 3ª parte.
Apenas a 1ª e a 2ª partes.
Apenas a 1ª e a 3ª partes.
Todas as partes.
“O desenvolvimento orientado a objetos é um paradigma de programação que organiza o software em torno de objetos, que são representações de coisas ou conceitos do mundo real ou abstrato. Esses objetos contêm dados (chamados de atributos ou propriedades) e comportamentos (chamados de métodos ou funções), reunindo ambos em uma única entidade.”
Fonte: Adaptado de Wazlawick, R. S. Análise e projeto de sistemas de informação orientados a objetos. Rio de Janeiro: Elsevier, 2004.
Qual dos seguintes conceitos não é fundamental para o desenvolvimento orientado a objetos?
Encapsulamento de detalhes de implementação.
Herança de propriedades e métodos.
Polimorfismo de assinatura de métodos.
Abstração de interfaces de aplicação.
Recursão de métodos e funções.
A Programação Orientada a Objetos (POO) se baseia em conceitos como herança, polimorfismo e encapsulamento para criar software modular e reutilizável. Considerando um sistema desenvolvido em Java, analise as afirmativas a seguir:
I.O polimorfismo de sobrescrita (overriding) ocorre quando uma subclasse fornece uma implementação específica para um método que já é definido em sua superclasse, mantendo a mesma assinatura (nome, parâmetros e tipo de retorno).
II.O polimorfismo de sobrecarga (overloading) permite a existência de múltiplos métodos com o mesmo nome dentro da mesma classe, desde que suas listas de parâmetros sejam diferentes em número, tipo ou ordem.
III.Uma classe abstrata em Java não pode conter métodos concretos (com implementação), sendo funcionalmente idêntica a uma interface, que também só pode declarar assinaturas de métodos.
Está correto o que se afirma em:
I e II apenas.
I, II e III.
III apenas.
I e III apenas.
II apenas.
A Programação Orientada a Objetos (POO) é um paradigma de desenvolvimento de software que organiza o código em torno de classes e objetos, facilitando a criação de sistemas modulares, reutilizáveis e mais fáceis de manter. Um dos conceitos fundamentais desse paradigma é a "Sobrecarga", que permite maior flexibilidade no uso de métodos. Com base nisso, assinale a alternativa que melhor define o conceito de "Sobrecarga" no contexto da POO.
A capacidade de uma classe definir múltiplos métodos com o mesmo nome, diferenciados pelo número ou tipo dos parâmetros.
A capacidade de uma subclasse herdar atributos e métodos de uma classe base, permitindo a reutilização e a extensão do código existente.
A organização de classes e interfaces em pacotes, visando modularidade e melhor estruturação do sistema.
O princípio de encapsular dados dentro de um objeto, restringindo o acesso direto e permitindo a manipulação apenas por meio de métodos específicos.
A criação de objetos, que são instâncias de classes, representando entidades com atributos e comportamentos específicos.
Considerando os conceitos de Programação Orientada a Objetos na Linguagem Java, assinale a opção correta.
Uma classe concreta em Java deve conter métodos concretos, ou seja, nenhum método abstrato.
Uma herança múltipla em Java ocorre utilizando interfaces diferentes, onde cada interface herdada deve estar em um pacote diferente da classe concreta.
Uma herança múltipla em Java ocorre utilizando diversas classes, ou seja, é possível realizar herança ao herdar de mais de uma classe.
Um método abstrato em Java pode ter apenas sua assinatura em uma classe concreta.
No que se refere à herança na programação orientada a objetos, assinale a opção correta.
A herança promove acoplamento fraco entre as classes.
A herança elimina completamente a necessidade de composição.
A herança permite que uma classe derivada reutilize métodos e atributos da superclasse.
A herança permite que uma classe filha acesse diretamente os atributos privados da classe pai.
Na herança, uma classe pode herdar múltiplas superclasses diretamente em todas as linguagens.
O Tribunal de Justiça do Estado de Rondônia (TJRO) está desenvolvendo um novo sistema para integrar diferentes bases de dados judiciais e garantir maior interoperabilidade entre sistemas. Para isso, foi adotada uma abordagem orientada a objetos, com o uso de princípios como SOLID e padrões de projeto. Sobre os conceitos fundamentais de SOLID e padrões de projeto, assinale a afirmativa correta.
O padrão Factory Method é indicado para evitar a criação de objetos em tempo de execução.
O padrão Singleton é utilizado para criar objetos que podem ser instanciados várias vezes durante a execução do programa.
O princípio da responsabilidade única (SRP) determina que uma classe deve ter apenas uma razão para mudar, promovendo coesão.
O princípio de segregação de interface recomenda que todas as classes utilizem interfaces únicas e extensas para consolidar suas dependências.
O princípio de substituição de Liskov (LSP) recomenda que subclasses adicionarem comportamentos que alteram as funcionalidades das superclasses.
A análise orientada a objetos (OOA) tem como objetivo identificar e definir os objetos principais do sistema, suas responsabilidades e suas interações, utilizando conceitos como encapsulamento, herança e polimorfismo para modelar o sistema de forma modular e reutilizável.
Certo
Errado
Na orientação a objetos, o encapsulamento permite restringir o acesso a atributos e métodos de um objeto, e promove segurança e ocultação de dados.
Certo
Errado
A programação orientada a objetos é baseada no conceito de objetos, que representam instâncias ou abstrações de conceitos do mundo real.
Certo
Errado
Assinale a alternativa que descreve o principal conceito da programação orientada a objetos.
Dividir o programa em funções independentes e reutilizáveis.
Organizar o código em classes e objetos, permitindo maior modularidade, reutilização.
Escrever o código diretamente em linguagem de máquina, facilitando a manutenção.
Utilizar apenas variáveis globais para facilitar o acesso aos dados.
Criar estruturas exclusivamente sequenciais para reduzir a complexidade do código.
Em um cenário corporativo onde coexistem múltiplos sistemas com diferentes tecnologias, requisitos de negócio que mudam rapidamente e demanda por alta confiabilidade e reutilização, a escolha do paradigma de desenvolvimento de software torna-se crítica. Qual das alternativas abaixo descreve corretamente um paradigma e sua aplicabilidade, com base em fundamentos da engenharia de software?
O paradigma estruturado promove a decomposição de sistemas em módulos independentes com foco exclusivo em dados, sendo recomendado para sistemas baseados em eventos com alto grau de paralelismo.
O paradigma orientado a objetos propõe a organização do sistema como uma coleção de objetos interativos e reutilizáveis, sendo especialmente útil em ambientes com requisitos que evoluem gradualmente ao longo do tempo.
O paradigma funcional é amplamente utilizado para sistemas de controle embarcado, pois oferece melhor compatibilidade com modelos de software orientados a estado e interação direta com hardware.
O paradigma baseado em componentes considera os serviços como elementos internos aos objetos, promovendo acoplamento forte e reutilização restrita a domínios específicos.
O paradigma orientado a serviços (SOA) substitui a necessidade de padronização na arquitetura, ao permitir que componentes heterogêneos se comuniquem diretamente por chamadas de procedimento remoto ponto a ponto.
Qual é a definição correta do conceito de encapsulamento na Programação Orientada a Objetos?
Tornar os atributos de uma classe públicos para facilitar o acesso.
Criar várias versões de um mesmo método com parâmetros diferentes.
Criar classes que herdam características de outras classes.
Permitir que métodos de diferentes classes tenham o mesmo nome.
Separar a implementação interna da classe e controlar o acesso aos seus membros.