Logo Passei Direto
Buscar

Ferramentas de estudo

Questões resolvidas

A programação orientada a objetos foi impulsionada por dois marcos históricos: a linguagem SIMULA, que introduziu conceitos fundamentais como classes e objetos, e o Smalltalk, que não só consolidou esses conceitos, mas também inovou com uma interface gráfica de usuário e um ambiente de desenvolvimento integrado. Ambos desempenharam papéis cruciais na evolução da programação, oferecendo as bases teóricas e práticas que moldaram o paradigma da programação orientada a objetos como o conhecemos hoje.Fonte: Adaptado de: BOOCH, G. Object-Oriented Analysis and Design with Applications. Addison-Wesley, 1991.No desenvolvimento da programação orientada a objetos, dois marcos históricos foram fundamentais: o surgimento da linguagem SIMULA e o desenvolvimento do Smalltalk. Sobre esses marcos, analise as afirmativas a seguir:I. O Smalltalk, desenvolvido por Alan Kay no Xerox PARC, trouxe inovações importantes, incluindo uma GUI e um IDE, que revolucionaram o desenvolvimento de software. II. A linguagem SIMULA, derivada da simulação de eventos discretos, introduziu conceitos-chave da programação orientada a objetos, como classes, objetos, herança e encapsulamento. III. O SIMULA e o Smalltalk foram baseados em linguagens de programação de alto nível, como Fortran e Algol 60, respectivamente, adaptando-as para atender às necessidades específicas da programação orientada a objetos.É correto o que se afirma em: A) I e II, apenas. B) III, apenas. C) I, II e III. D) I, apenas. E) II e III, apenas.

No contexto da programação em Java, é crucial sobrescrever os métodos ‘equals’, ‘hashCode’ e ‘toString’ ao lidar com coleções de objetos. Essa prática garante operações como adição, remoção, pesquisa e acesso aos elementos que funcionem corretamente. A falta de implementação desses métodos pode causar falhas em operações, comprometer o encapsulamento e tornar o código propenso a erros.Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016.Assinale a alternativa que corresponde à prática destacada, como crucial para evitar resultados indesejados ao lidar com coleções em Java: A) Depender de métodos padrão fornecidos pela linguagem Java. B) Utilizar métodos de remoção e pesquisa com classes primitivas. C) Evitar a implementação do método `equals` para preservar o encapsulamento. D) Sobrescrever os métodos `equals`, `hashCode` e `toString` para a classe relevante. E) Utilizar concatenações diretas de objetos para facilitar o acesso aos elementos.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

A programação orientada a objetos foi impulsionada por dois marcos históricos: a linguagem SIMULA, que introduziu conceitos fundamentais como classes e objetos, e o Smalltalk, que não só consolidou esses conceitos, mas também inovou com uma interface gráfica de usuário e um ambiente de desenvolvimento integrado. Ambos desempenharam papéis cruciais na evolução da programação, oferecendo as bases teóricas e práticas que moldaram o paradigma da programação orientada a objetos como o conhecemos hoje.Fonte: Adaptado de: BOOCH, G. Object-Oriented Analysis and Design with Applications. Addison-Wesley, 1991.No desenvolvimento da programação orientada a objetos, dois marcos históricos foram fundamentais: o surgimento da linguagem SIMULA e o desenvolvimento do Smalltalk. Sobre esses marcos, analise as afirmativas a seguir:I. O Smalltalk, desenvolvido por Alan Kay no Xerox PARC, trouxe inovações importantes, incluindo uma GUI e um IDE, que revolucionaram o desenvolvimento de software. II. A linguagem SIMULA, derivada da simulação de eventos discretos, introduziu conceitos-chave da programação orientada a objetos, como classes, objetos, herança e encapsulamento. III. O SIMULA e o Smalltalk foram baseados em linguagens de programação de alto nível, como Fortran e Algol 60, respectivamente, adaptando-as para atender às necessidades específicas da programação orientada a objetos.É correto o que se afirma em: A) I e II, apenas. B) III, apenas. C) I, II e III. D) I, apenas. E) II e III, apenas.

No contexto da programação em Java, é crucial sobrescrever os métodos ‘equals’, ‘hashCode’ e ‘toString’ ao lidar com coleções de objetos. Essa prática garante operações como adição, remoção, pesquisa e acesso aos elementos que funcionem corretamente. A falta de implementação desses métodos pode causar falhas em operações, comprometer o encapsulamento e tornar o código propenso a erros.Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016.Assinale a alternativa que corresponde à prática destacada, como crucial para evitar resultados indesejados ao lidar com coleções em Java: A) Depender de métodos padrão fornecidos pela linguagem Java. B) Utilizar métodos de remoção e pesquisa com classes primitivas. C) Evitar a implementação do método `equals` para preservar o encapsulamento. D) Sobrescrever os métodos `equals`, `hashCode` e `toString` para a classe relevante. E) Utilizar concatenações diretas de objetos para facilitar o acesso aos elementos.

Prévia do material em texto

Ao desenvolver em Java, é essencial evitar práticas inadequadas da programação estruturada, buscando aproveitar os recursos oferecidos pela linguagem para 
garantir código mais legível, eficiente e livre de erros. Utilizar a classe StringBuilder para manipulação de strings, a classe BigDecimal para valores 
monetários e o foreach para simplificar loops for são algumas das boas práticas recomendadas. Esses recursos ajudam a minimizar instâncias desnecessárias 
de objetos, evitar imprecisões em cálculos e simplificar a manipulação de coleções.
Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do 
Código, 2016.
Com base no texto fornecido sobre as práticas recomendadas na programação orientada a objetos em Java, analise as afirmativas a seguir:
I. Buscar por classes auxiliares e recursos oferecidos pela linguagem pode tornar o desenvolvimento em Java mais difícil e ineficaz.
II. O foreach é uma alternativa ao loop for tradicional e simplifica a manipulação de coleções, percorrendo automaticamente os elementos.
III. O uso indiscriminado de concatenação de strings pode prejudicar a legibilidade do código e criar instâncias desnecessárias de objetos.
IV. A classe BigDecimal é recomendada para lidar com valores monetários devido à sua precisão e eficiência na manipulação de números decimais.
É correto o que se afirma em:
A I, II e III, apenas.
B II e III, apenas.
C III e IV, apenas.
D II, III e IV, apenas.
E I e IV, apenas.
No desenvolvimento de software, coesão e acoplamento são dois princípios fundamentais de design que influenciam a qualidade e a manutenibilidade do 
software. A coesão refere-se ao grau em que os elementos dentro de um módulo estão relacionados e trabalham juntos para realizar uma única tarefa ou 
responsabilidade. Por outro lado, o acoplamento mede a dependência entre os módulos ou componentes de um sistema. Um acoplamento baixo é desejável, 
pois indica que os módulos são independentes e podem ser modificados com pouco impacto nos outros componentes do sistema.
Fonte: Adaptado de: LEITE, T.; CARVALHO, T. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: 
Casa do Código, 2016.
Considerando o texto-base sobre coesão e acoplamento, analise as afirmativas a seguir:
I. A coesão e o acoplamento são princípios fundamentais de design que influenciam a qualidade e a manutenibilidade do software.
II. A coesão se refere ao grau em que os elementos dentro de um módulo estão relacionados e trabalham juntos para realizar uma única tarefa ou 
responsabilidade.
III. Um acoplamento baixo é desejável, pois indica que os módulos são independentes e podem ser modificados com pouco impacto nos outros componentes 
do sistema.
IV. Um alto grau de coesão é desejável em sistemas de software, pois facilita a manutenção e evolução do sistema, mantendo as responsabilidades dos 
módulos bem definidas e agrupadas.
É correto o que se afirma em:
A I, apenas.
B I, II, III e IV.
C III e IV, apenas.
D I, II e III, apenas.
E II e IV, apenas.
Na programação orientada a objetos, a herança é um conceito fundamental. Ela permite que uma classe, denominada subclasse, herde atributos e métodos de 
outra classe, chamada superclasse. Isso promove a reutilização de código e a criação de hierarquias entre as classes. A herança pode ser simples, quando uma 
subclasse herda de uma única superclasse, ou múltipla, quando uma subclasse herda de várias superclasses. A herança possibilita o uso do polimorfismo, que 
é a capacidade de objetos de classes diferentes responderem de forma distinta a uma mesma mensagem. 
Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do 
Código, 2016.
Considere o exemplo de uma hierarquia de classes relacionadas a veículos. Temos quatro classes: "Veiculo", “Carro”, "CarroEletrico", "CarroCombustao" e 
“CarroHibrido”. 
Com base nos conceitos apresentados e considerando o exemplo da hierarquia de classes de veículos, analise as afirmativas a seguir:
I. A herança permite que uma subclasse como "Carro” herde atributos e métodos da superclasse "Veiculo", promovendo a reutilização de código.
II. A herança pode ser simples, como quando "Carro" herda apenas de "Veiculo", ou múltipla, como “CarroHibrido” herda característica de “CarroEletrico” e 
“CarroCombustao”.
III. Na herança múltipla, como o caso de "CarroHibrido", a classe pode herdar características de várias superclasses, proporcionando uma maior flexibilidade 
no design do sistema, embora também possa resultar em complexidades adicionais.
IV. O uso do polimorfismo, possibilitado pela herança, permite que objetos de classes diferentes respondam de forma distinta a uma mesma mensagem. Por 
exemplo, um método "ligar()" pode ser implementado de maneiras diferentes para um "CarroEletrico", que liga um motor elétrico, e um "CarroCombustao", 
que liga um motor a combustão.
É correto o que se afirma em:
A I, apenas.
B I, II, III e IV.
C III e IV, apenas.
D II e IV, apenas.
2
3
E I, II e III, apenas.
Nas boas práticas de uso da orientação a objetos descritas por Carvalho (2016), enfatiza-se a importância de cuidar dos métodos em uma classe, destacando a 
redução do tamanho, a eliminação da repetição de código e a gestão adequada dos parâmetros. De acordo com as orientações de Carvalho (2016), métodos 
menores e mais concisos são preferíveis, facilitando a compreensão e a manutenção do código. Evitar a passagem de muitos parâmetros de forma isolada 
também é recomendado, pois pode aumentar o acoplamento e dificultar futuras alterações. A organização adequada dos métodos é crucial para desenvolver 
sistemas mais claros e sustentáveis.
Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do 
Código, 2016.
Com base nas boas práticas de orientação a objetos descritas por Carvalho (2016), analise as afirmativas a seguir:
I. Reduzir o tamanho dos métodos pode contribuir para uma melhor compreensão do código e facilitar sua manutenção ao longo do tempo.
II. Evitar a repetição de código nos métodos é uma prática recomendada, pois reduz a redundância e promove uma melhor organização do código.
III. Passar uma grande quantidade de parâmetros de forma isolada simultaneamente para os métodos é uma abordagem apropriada no contexto orientado a 
objetos.
É correto o que se afirma em:
A I, II e III.
B I, apenas.
C I e II, apenas.
D II e III, apenas.
E III, apenas.
A Programação Orientada a Objetos (POO) é uma abordagem de desenvolvimento de software que modela objetos do mundo real. Ela utiliza conceitos como 
abstração, que simplifica a complexidade por meio de modelos essenciais; encapsulamento, que oculta detalhes internos; e herança, que permite criar novas 
classes com base em classes existentes. Além disso, a associação une objetos com interesses comuns.
Fonte: adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa 
do Código, 2016.
Na biblioteca, diversas classes são fundamentais para o adequado gerenciamento de recursos e informações. Entre elas, destacam-se "Livro", "Autor", 
"Pessoa" e "Funcionário". Um exemplo notável é o autor "Guimarães Rosa", cuja obra "Grande Sertão: Veredas" está disponível para empréstimo. A classe 
"Livro" possui atributos como "nome", "título", "cargo" e "data de empréstimo", além dos métodos "emprestarLivro()" e "listarAutor()", permitindo uma 
gestão eficiente das operações de empréstimo e fornecendo informações sobre os autores das obras. Com base no exposto, analise as afirmativas a seguir: 
I. Pessoa herda característica de Livros.
II. A classe Autor é uma associação da classe Livro.
III. A classe Livros encapsula os atributos e os métodos.
IV. Funcionário e Autor herdam características de Pessoa.É corretoo que se afirma em:
A II e III, apenas.
B II, III e IV, apenas.
C I, II e III, apenas.
D I e IV, apenas.
E III e IV, apenas.
A Programação Orientada a Objetos (POO) é uma abordagem de desenvolvimento de software que modela objetos do mundo real. Ela utiliza conceitos como 
abstração, que simplifica a complexidade por meio de modelos essenciais; encapsulamento, que oculta detalhes internos; e herança, que permite criar novas 
classes com base em classes existentes. Além disso, a associação une objetos com interesses comuns.
Fonte: adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa 
do Código, 2016.
Suponha que na estrutura de uma empresa foram definidas três classes: Gerente, Funcionário e Vendedor. Dentro dessa hierarquia, os Gerentes têm a 
responsabilidade de coordenar os Vendedores e ambos são considerados Funcionários da empresa. Com base no exposto, analise as opções a seguir: 
I. Gerente é abstração de Vendedor.
II. Gerente e Vendedor são associações.
III. Gerente e Vendedor herdam de Funcionário.
IV. Gerente e Vendedor especializam Funcionário.É correto o que se afirma em:
A III e IV, apenas.
B I e IV, apenas.
C II, III e IV, apenas.
D I, II e III, apenas.
Revisar Conteúdo do Livro
4
5
6
E II e III, apenas.
A programação orientada a objetos foi impulsionada por dois marcos históricos: a linguagem SIMULA, que introduziu conceitos fundamentais como classes 
e objetos, e o Smalltalk, que não só consolidou esses conceitos, mas também inovou com uma interface gráfica de usuário e um ambiente de desenvolvimento 
integrado. Ambos desempenharam papéis cruciais na evolução da programação, oferecendo as bases teóricas e práticas que moldaram o paradigma da 
programação orientada a objetos como o conhecemos hoje.
Fonte: Adaptado de: BOOCH, G. Object-Oriented Analysis and Design with Applications. Addison-Wesley, 1991.
No desenvolvimento da programação orientada a objetos, dois marcos históricos foram fundamentais: o surgimento da linguagem SIMULA e o 
desenvolvimento do Smalltalk. Sobre esses marcos, analise as afirmativas a seguir:
I. O Smalltalk, desenvolvido por Alan Kay no Xerox PARC, trouxe inovações importantes, incluindo uma GUI e um IDE, que revolucionaram o 
desenvolvimento de software.
II. A linguagem SIMULA, derivada da simulação de eventos discretos, introduziu conceitos-chave da programação orientada a objetos, como classes, objetos, 
herança e encapsulamento.
III. O SIMULA e o Smalltalk foram baseados em linguagens de programação de alto nível, como Fortran e Algol 60, respectivamente, adaptando-as para 
atender às necessidades específicas da programação orientada a objetos.
É correto o que se afirma em:
A II e III, apenas.
B I, apenas.
C I e II, apenas.
D III, apenas.
E I, II e III.
A programação estruturada, que se baseia em sequência, decisão e iteração, foi o paradigma dominante antes da orientação a objetos. Embora seja capaz de 
lidar com problemas simples, pode se tornar complexa em situações mais elaboradas, como sistemas de controle de bibliotecas, devido à sua limitação na 
representação de relações complexas entre os dados. Por outro lado, a orientação a objetos organiza a complexidade ao modelar entidades do mundo real 
como objetos com comportamentos e propriedades definidas, facilitando a manutenção e compreensão do código.
Fonte: Adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: 
Casa do Código, 2016.
Identifique uma das principais limitações da programação estruturada que é superada com a implementação da programação orientada a objetos:
A Propensão a erros devido à redundância de código.
B Falta de abstrações de dados.
C Dificuldade em lidar com estruturas básicas de programação.
D Limitações na representação de relações complexas entre os dados.
E Complexidade na manutenção de um código organizado.
O encapsulamento é uma peça fundamental na programação orientada a objetos, sendo vital para assegurar a qualidade e segurança das aplicações. Ele 
proporciona uma camada de proteção ao ocultar os detalhes internos de uma classe e fornecer uma interface controlada para interações externas. Para manter 
esse encapsulamento, é crucial evitar o uso excessivo de métodos get/set, optando por estratégias mais robustas como a sobrecarga do construtor e a 
implementação de métodos de negócio. Além disso, a imutabilidade de classes é essencial, especialmente em ambientes concorrentes, garantindo que o estado 
de um objeto não seja alterado após sua criação. Essas práticas não apenas promovem um melhor encapsulamento, mas também contribuem 
significativamente para a segurança e estabilidade das aplicações orientadas a objetos.
Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do 
Código, 2016.
Com base nas informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas:
I. Todos os atributos devem ser definidos como privados para garantir o encapsulamento e ocultação da informação.
PORQUE
II. Os métodos públicos devem definir claramente a API da classe, enquanto os métodos privados devem ser utilizados para organizar a lógica interna da 
classe.
A respeito dessas asserções, assinale a opção correta:
A A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
B A asserção I é uma proposição falsa e a II é uma proposição verdadeira.
C As asserções I e II são falsas.
D As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
Atenção: Esta questão foi cancelada, porém a pontuação foi considerada.
7
8
9
E As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
No contexto da programação em Java, é crucial sobrescrever os métodos ‘equals’, ‘hashCode’ e ‘toString’ ao lidar com coleções de objetos. Essa prática 
garante operações como adição, remoção, pesquisa e acesso aos elementos que funcionem corretamente. A falta de implementação desses métodos pode 
causar falhas em operações, comprometer o encapsulamento e tornar o código propenso a erros.
Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do 
Código, 2016.
Assinale a alternativa que corresponde à prática destacada, como crucial para evitar resultados indesejados ao lidar com coleções em Java:
A Sobrescrever os métodos `equals`, `hashCode` e `toString` para a classe relevante.
B Evitar a implementação do método `equals` para preservar o encapsulamento.
C Depender de métodos padrão fornecidos pela linguagem Java.
D Utilizar métodos de remoção e pesquisa com classes primitivas.
E Utilizar concatenações diretas de objetos para facilitar o acesso aos elementos.
10

Mais conteúdos dessa disciplina