Buscar

Programação Orientada a Objetos - AOL1, AOL2, AOL3, AOL4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Orientada a Objetos - POO
Análise e Desenvolvimento de Sistemas – Autoaprendizagem 1
NOTA 10/10
1. Pergunta 1
/0
As linguagens de programação são classificadas de acordo com as categoriais elencadas a seguir: 
· não baseadas em objetos;
· baseadas em objetos;
· baseadas em classes; 
· orientadas a objetos.
Considerando essas informações e o que foi estudado sobre linguagens típicas orientada a objetos, analise as afirmativas a seguir:
I. Uma linguagem baseada em classes também é baseada em objetos.
II. Uma linguagem orientada a objetos também é baseada em classes, mas não é baseada em objetos.
III. Uma linguagem baseada em objetos também é baseada em classes
IV. Uma linguagem orientada a objetos também é baseada em classes.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
III e IV.
1. 
II e IV.
1. 
I e IV.
Resposta correta
1. 
II e III.
1. 
I e II.
1. Pergunta 2
/0
Diferentemente do tipo primitivo char, que armazena apenas um caractere, a classe String não é um tipo primitivo, sendo utilizada para armazenamento de texto alfanumérico e possuindo vários métodos que auxiliam o programador no trabalho com textos.
Considerando essas informações e o conteúdo estudado sobre programação orientada a objetos, analise as afirmativas a seguir sobre os métodos existentes na classe.
I. O método toLowerCase é utilizado para deixar todo o texto em caracteres maiúsculos. 
II. O método trim é utilizado para remover espaçamentos contidos no início e fim de um texto, mas não remove espaçamentos contidos entre das palavras.
III. O método replace apaga um caractere a esquerda.
IV. O método toUpperCase é utilizado para deixar todo o texto em caracteres maiúsculos.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
2. 
III e IV.
2. 
II e IV.
Resposta correta
2. 
I, II e IV.
2. 
I e II.
2. 
II e III.
1. Pergunta 3
/0
A linguagem de programação Java, além de ser 100% orientada a objetos, também é multiplataforma, ou seja, é possível desenvolver um sistema para dispositivos Mobile, Desktop e Web. Ao declarar um atributo em Java, precisamos dizer qual o tipo dele.
Considerando essas informações e o conteúdo estudado sobre programação orientada a objetos em Java, assinale a alternativa correta:
Ocultar opções de resposta 
3. 
Os atributos como um todo aceitam tipos de dado em geral.
3. 
Java é uma linguagem fortemente tipada.
Resposta correta
3. 
Os atributos em Java possuem tipos primitivos.
3. 
Todo tipo primitivo deve ser declarado qual seu tipo.
3. 
Java é uma linguagem fracamente tipada.
1. Pergunta 4
/0
O desenvolvimento de um software, dependendo da sua robustez, não é nada fácil, mas a orientação a objetos tem o objetivo de facilitar a vida de um profissional que desenvolve um software, em que classes surgem a partir de outras e estas absorvem os estados e comportamentos.
Considerando as informações apresentadas e o conteúdo estudado sobre introdução à orientação a objetos, analise as afirmativas a seguir:
I. A orientação a objetos possibilita que o programador utilize menos códigos, fazendo uso de herança.
II. A orientação a objetos torna o sistema mais veloz, pois o programador não precisa se preocupar com o desempenho do sistema.
III. A orientação a objetos permite a escalabilidade de uma aplicação, possibilitando ampliar ou reduzir o esforço do programador.
IV. A orientação a objetos permite a escalabilidade de uma aplicação, possibilitando ampliar o sistema caso precise de novas funcionalidades. 
Está correto apenas o que se afirma em: 
Ocultar opções de resposta 
4. 
I e IV.
Resposta correta
4. 
I e II.
4. 
II e III.
4. 
I, III, IV.
4. 
I, II e IV.
1. Pergunta 5
/0
A classe String é utilizada para escrever textos e o espaço utilizado em memória dependerá do tamanho do texto, que é limitado à quantidade de memória disponível no sistema. Além disso, a classe String possui algumas características próprias.
Considerando essas informações e o conteúdo estudado sobre programação orientada a objetos em Java, analise as afirmativas a seguir.
I. A classe String não precisa ser instanciada.
II. A classe String é um tipo primitivo.
III. A declaração de um atributo do tipo String pode ser feita utilizando o seguinte argumento: String meuTexto = new String(“o meu texto é esse”);
IV. A declaração de um atributo do tipo String pode ser feita utilizando o seguinte argumento: String meuTexto = ‘o meu texto é esse’; 
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
5. 
I e IV.
5. 
I e III.
Resposta correta
5. 
I, III e IV.
5. 
III e IV.
5. 
II e IV.
1. Pergunta 6
/0
Operadores lógicos são frequentemente utilizados durante a escrita de um código, principalmente em trechos que implementam uma estrutura de decisão através de if else ou em iterações fazendo uso de for, foreach, do e while e eles retornam sempre um valor booleano.
Considerando essas informações e o conteúdo estudado em programação orientada a objetos em Java, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
I. ( ) Ao utilizar o operador lógico relacional >= (maior igual), para que o resultado seja true, o número à direita precisa ser maior ou igual ao da esquerda.
II. ( ) Os operadores lógicos retornam valores booleanos.
III. ( ) O operador lógico == (igual) é utilizado para exibir resultado obtido de uma operação matemática.
IV. ( ) Ao utilizar o operador lógico != (diferente) para que o resultado seja false, o número à esquerda precisa ser igual ao da direita.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
6. 
V, F, F, V.
6. 
F, V, F, V.
Resposta correta
6. 
V, V, V, F.
6. 
F, V, V, F.
6. 
F, F, V, V.
1. Pergunta 7
/0
Leia o trecho a seguir:
“Se uma classe não especifica explicitamente uma superclasse, [...] então podemos considerar que esta deriva diretamente de Object, como se ela tivesse sido definida como:public class nomeClasse extends Object { ... }”Fonte: BATISTA, R. S, MORAES R. A. Introdução à Programação Orientada a Objetos, 2013. Disponível em <http://proedu.rnp.br/bitstream/handle/123456789/611/Intro_Progr_OrientadaObjetos_PB_CAPA_FICHA_ISBN_20130813.pdf?sequence=4&isAllowed=y>. Acesso em 02 de abril de 2020. (adaptado).
Complementando o trecho acima, se uma classe não possui herança declarada de forma explícita com o uso da palavra-chave extends, automaticamente ela está herdando a classe Object indiretamente, e isso acontece de forma implícita (sem percebermos).
Considerando essas informações e o conteúdo estudado sobre programação orientada a objetos em Java, assinale a alternativa correta:
Ocultar opções de resposta 
7. 
O método equals é herdado pela classe Object.
7. 
Os métodos herdados aparecem automaticamente como atributo de uma classe.
7. 
O método equals é pré-existente na classe Object e por isso precisamos sobrescrevê-lo utilizando a annotation @Override.
Resposta correta
7. 
A classe herdeira não possui o método equals e devemos criá-lo.
7. 
A classe Object é herdeira das demais classes.
1. Pergunta 8
/0
A classe String é útil para armazenamento de textos e possui muitos métodos essenciais que auxiliam o programador durante o desenvolvimento de um sistema. Um desses métodos muito útil é o método length, que retorna a quantidade de caracteres em um texto.
Considerando essas informações e o conteúdo estudado sobre programação orientada a objetos, pode-se afirmar que:
Ocultar opções de resposta 
8. 
o método length retorna a quantidade de caracteres invisíveis.
8. 
o método length retorna a quantidade de caracteres visíveis.
8. 
o método length retorna a quantidade de caracteres visíveis e espaços.
8. 
o método length retorna a quantidade de caracteres visíveis sem considerar os espaços.
8. 
o método length retorna a quantidade de caracteres visíveis e invisíveis, além de considerar espaços, quebras de linhas e tabulações.
Resposta correta
1. Pergunta 9
/0
Os operadores lógicos relacionais são utilizados para comparação de dois valores, um à esquerda e outro à direita. Estes comparadoressão utilizados para comparar dados numéricos e retornam um valor booleano. A partir do valor booleano, o sistema toma uma decisão ou outra, dependendo das circunstâncias. 
Considerando essas informações e o conteúdo estudado sobre programação orientada a objetos em Java, pode-se afirmar que:
Ocultar opções de resposta 
9. 
Para comparar dois números iguais devo utilizar o método equals da classe String.
9. 
Para comparar dois números iguais devo utilizar o caractere = (igual) uma única vez.
9. 
Ao verificar se um número é maior que o outro, para que o resultado seja true, o valor à direita precisa ser maior que o da esquerda.
9. 
Para comparar dois números diferentes devo utilizar o caractere ! (exclamação) uma única vez.
9. 
Ao verificar se um número é maior que o outro, para que o resultado seja true, o valor à esquerda precisa ser maior que o da direita.
Resposta correta
1. Pergunta 10
/0
A ideia da programação orientada a objetos é representar virtualmente objetos reais, considerando que possuem estado e comportamentos em formato de classes. Há também classes que possuem só comportamentos, sem a necessidade de possuírem estado.
Considerando essas informações e o conteúdo estudado sobre introdução à orientação a objetos, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
I. ( ) As classes que representam objetos são denominadas modelos de entidade.
II. ( ) Para criar um objeto na memória do sistema é preciso instanciá-lo fazendo uso da palavra-chave class.
III. ( ) As classes que possuem somente comportamento são denominadas bibliotecas de operações.
IV. ( ) O estado de um objeto pode ser alterado por um método.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
10. 
V, F, F, V.
10. 
F, V, F, V.
10. 
V, F, V, V.
Resposta correta
10. 
V, V, F, F.
10. 
F, F, V, V.
Programação Orientada a Objetos - POO
Análise e Desenvolvimento de Sistemas – Autoaprendizagem 2
NOTA 10/10
1. Pergunta 1
/0
A declaração de um método comum deve ser composta por modificador de acesso, modificador static (se necessário), tipo de retorno, nome do método e seus parâmetros, que podem ser nenhum ou vários, dependendo da necessidade e do que o método irá executar. Os métodos têm escopo, que é tudo aquilo que está dentro de suas chaves.
Considerando essas informações e o conteúdo estudado sobre métodos, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):
I. ( ) O modificador static determina que o método pertence à classe, e não ao objeto que é instanciado.
II. ( ) A declaração do tipo de retorno é sempre obrigatória, porém, se o retorno for void, ele não deverá ter a palavra-chave “return”.
III. ( ) Métodos com tipo de retorno void precisam retornar um valor booleano e possuir a palavra-chave “return”.
IV. ( ) Os parâmetros contidos no método podem ser utilizados em qualquer outro método da classe.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
F, V, V, F.
2. 
F, V, F, V.
3. 
V, V, F, F.
Resposta correta
4. 
F, F, V, V.
5. 
V, F, V, F.
2. Pergunta 2
/0
Leia o trecho a seguir:
“O Garbage Collector roda em segundo plano juntamente com sua aplicação Java. Não é possível prever quando ele será executado, portanto não se pode dizer com certeza quantos objetos foram efetivamente coletados em um certo ponto da aplicação. O que podemos determinar é quantos objetos são elegíveis para a coleta.”Fonte: SILVEIRA, G.; AMARAL, M. Java SE 8 Programmer I: o guia para sua certificação Oracle Certified Associate. São Paulo: Casa do Código, 2015. p. 76.
Considerando essas informações e o conteúdo estudado sobre ciclo de vida de um objeto, analise as asserções a seguir e a relação proposta entre elas:
I. Em uma iteração na qual objeto é criado n vezes na mesma referência, apenas na última iteração ele realmente estará acessível.
Porque:
II. Durante a iteração o objeto é sobrescrito e sempre que um novo objeto é criado na mesma referência, o anterior perde a referência.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
2. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
3. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Resposta correta
4. 
As asserções I e II são proposições falsas.
5. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
3. Pergunta 3
/0
Tanto os métodos quanto o construtor de uma classe podem ser declarados com o mesmo nome, porém devem ter assinaturas diferentes. A possibilidade de se ter dois ou mais métodos ou construtores com o mesmo nome recebe a definição de sobrecarga.
Considerando essas informações e o conteúdo estudado sobre sobrecarga, pode-se afirmar que:
Ocultar opções de resposta 
1. 
o tipo de retorno deve ser considerado para a assinatura de um método, mesmo que seja void.
2. 
a assinatura de um método ou construtor é composta por nome e parâmetros.
Resposta correta
3. 
é possível criar métodos com a mesma assinatura e que possuam o mesmo tipo de retorno.
4. 
a sobrecarga enumera os métodos com o mesmo nome, classificando-os em ordem alfabética.
5. 
o compilador consegue compreender a passagem de métodos fora da ordem e decidir qual deve ser utilizado.
4. Pergunta 4
/0
Ao declarar atributos em uma classe, podemos inserir o modificador de acesso (que pode ser public, protected, private) ou não declarar – neste caso, será o modificador default. Isso impactará diretamente na forma de como se acessará os atributos.
Considerando essas informações e o conteúdo estudado sobre atributos, pode-se afirmar que:
Ocultar opções de resposta 
1. 
atributos declarados sem modificador de acesso podem ser herdados por classes de qualquer pacote.
2. 
atributos declarados como public só podem ser acessados pela própria classe.
3. 
atributos declarados como public são atributos de classe, não de objetos.
4. 
atributos declarados como protected são atributos de classe, não de objetos.
5. 
atributos declarados como private só estão acessíveis para a própria classe.
Resposta correta
5. Pergunta 5
/0
O método main, quando declarado em uma classe Java, possibilita a inicialização da aplicação por meio dele. Por ser um método padrão, ele possui a declaração padrão, mas o que muda é o conteúdo que temos dentro de seu escopo.
Considerando essas informações e o conteúdo estudado sobre métodos, analise as afirmativas a seguir:
I. O método main deverá possuir retorno do tipo inteiro.
II. O método main deve ser “public static void”.
III. O método main, obrigatoriamente, deve receber parâmetros.
IV. O método main não possui a palavra-chave “return”.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
II e IV.
Resposta correta
2. 
I e II.
3. 
III e IV.
4. 
I e III.
5. 
I e IV.
6. Pergunta 6
/0
Assim como os atributos, os métodos também podem ser declarados com modificador static, que permite o acesso ao método sem a necessidade de instanciar o objeto. Esse é um método de classe, não de objeto, e geralmente métodos são declarados como static para realizar serviços que independem de um objeto – por exemplo, realizar algum cálculo entre valores.
Considerando essas informações e o conteúdo estudado sobre métodos, analise as afirmativas a seguir:
I. Métodos são estruturas contidas dentro de classes e utilizadas para realizar operações que podem ou não retornar valores.
II. Métodos devem sempre ser declarados com modificador de acesso public para que se possa ter acesso a eles.
III. Métodos que são utilizados para realizar operações distintas podem ser declarados em uma classe denominada biblioteca de operações.
IV. Todo método precisa ter a palavra-chave “return” informando o dado retornado à chamada do método.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
I e IV.
2. 
II e IV.
3. 
I, II e III.
4. 
II, III e IV.
5. 
I e III.Resposta correta
7. Pergunta 7
/0
Toda classe tem um método especial denominado construtor. Ele é considerado especial por possui características diferentes dos demais métodos e é utilizado para criar um objeto, que é uma instância da classe à qual ele pertence.
Considerando essas informações e o conteúdo estudado sobre construtores e palavra-chave “this”, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):
I. ( ) O construtor deve ter tipo de retorno declarado, além de possuir a palavra-chave “return” ao final.
II. ( ) Em toda classe, devemos declarar o construtor-padrão, mesmo que não se tenha declarado outro construtor diferente do padrão.
III. ( ) Dentro da própria classe, o construtor pode ser chamado pelo uso da palavra-chave “this”.
IV. ( ) A chamada de um construtor só é possível por meio da palavra-chave “new” a partir de outras classes.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
V, V, F, F.
2. 
F, F, V, V.
Resposta correta
3. 
F, V, V, F.
4. 
V, F, V, F.
5. 
F, V, F, V.
8. Pergunta 8
/0
O construtor é um método especial que possui particularidades disponíveis apenas para esse tipo de método. Sua criação explícita só é necessária diante da necessidade de inicializar variáveis ou chamar métodos para serem executados antes de qualquer outra ação envolvendo o objeto que será criado.
Considerando essas informações e o conteúdo estudado sobre construtores, pode-se afirmar que:
Ocultar opções de resposta 
1. 
todo construtor deverá possuir o mesmo nome que a classe.
Resposta correta
2. 
é possível invocar o construtor de outra classe com a palavra-chave “this”.
3. 
todo construtor deve possuir o modificador de acesso public.
4. 
o construtor default possui parâmetros.
5. 
atributos do construtor devem ser prefixados com a palavra-chave “this”.
9. Pergunta 9
/0
Em Java e outras linguagens de programação orientada a objetos, para estruturar o projeto devemos trabalhar com pacotes e, mesmo que não declarado, todo código ficará em um pacote default. Criar diferentes pacotes, além de beneficiar o desenvolvimento, facilita a localização de tipos e evita conflitos de nomes.
Considerando essas informações e o conteúdo estudado sobre pacotes, pode-se afirmar que:
Ocultar opções de resposta 
1. 
ao criar um pacote, na estrutura da classe devemos declarar a palavra-chave “package” seguida do nome do pacote.
Resposta correta
2. 
não é possível criar classes com o mesmo nome em diferentes pacotes, pois isso gerará erro de compilação.
3. 
pacotes possuem o mesmo nome que a classe que estará dentro deles e precisa ser declarada a palavra-chave “package” na classe.
4. 
ao criar um pacote, todas as classes deverão estar dentro do mesmo pacote e na estrutura da classe estará a palavra “package”.
5. 
classes que estão no pacote default precisam ter declarado a palavra-chave “packages” seguida do nome “default” em sua estrutura.
10. Pergunta 10
/0
Leia o trecho a seguir:
“[…] uma abstração de dados consiste de um conjunto de valores e de operações que completamente caracterizam o comportamento dos objetos. Esta propriedade é garantida fazendo-se com que as operações sejam a única maneira de criar e manipular os objetos.”Fonte: KAMIENSKI, C. A. Introdução ao paradigma de orientação a objetos. João Pessoa: Cefet, 1996. p. 5. Disponível: https://bit.ly/2MzcoFL. Acesso em: 13 abr. 2020.
Considerando essas informações e o conteúdo estudado sobre abstração, analise as asserções a seguir e a relação proposta entre elas:
I. Todo objeto possui inúmeras propriedades e funcionalidades e todas devem ser abstraídas e utilizadas no código.
Porque:
II. Toda informação é necessária para a representação de um objeto.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
2. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
3. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
4. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
5. 
As asserções I e II são proposições falsas.
Resposta correta
Programação Orientada a Objetos - POO
Análise e Desenvolvimento de Sistemas – Autoaprendizagem 3
NOTA 10/10
1. Pergunta 1
/0
Existem três tipos de relacionamento que são aplicados entre as classes. Esses relacionamentos são conhecidos como associação, composição e agregação. O conceito de cada um desses relacionamentos não é aplicado ao da herança.
Considerando essas informações e o conteúdo estudado sobre relacionamento entre classes, pode-se afirmar que:
Ocultar opções de resposta 
1. 
o relacionamento por associação indica que um dos objetos é superclasse e outro é subclasse.
2. 
o relacionamento por associação, em um dos objetos, deverá conter a palavra-chave “extends”.
3. 
o relacionamento por associação indica que um objeto “é um” outro objeto.
4. 
o relacionamento por associação indica que dois objetos estão conectados entre si.
Resposta correta
5. 
ambos os objetos interligados pelo relacionamento deverão possuir a palavra-chave “implements”.
2. Pergunta 2
/0
Leia o trecho a seguir:
“Agregação é um relacionamento do tipo todo/parte. Esse relacionamento é uma especialização da associação e define normalmente uma associação cuja classe contida normalmente é a parte de um todo, ou seja, normalmente a classe que contém é um grupo de objetos da outra. Vale lembrar também que um objeto da classe parte integrante pode existir sem o todo sendo que este último apenas agrega as partes já existentes.”Fonte: MATTOS, E. C. T Programação de softwares em Java: desvende os recursos desta poderosa linguagem. São Paulo: Digerati Books, 2007. p. 102.
Considerando essas informações e o conteúdo estudado sobre relacionamento entre classes, analise as asserções a seguir e a relação proposta entre elas:
I. A agregação é um tipo de relacionamento menos intenso, no qual pode haver independência entre as classes, existindo apenas exclusividade entre elas.
Porque:
II. Um objeto “parte” pode existir sem a existência do objeto “todo”, e o objeto “parte” será exclusivo de um objeto “todo”.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Resposta correta
2. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
3. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
4. 
As asserções I e II são proposições falsas.
5. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
3. Pergunta 3
/0
É recomendável, mas não obrigatório, que toda classe com o objetivo de servir apenas como superclasse seja declarada com modificador abstract, o qual impede que ela seja instanciada. Além disso, esse recurso possibilita que a classe crie assinaturas de métodos que podem ser declarados como abstratos.
Considerando essas informações e o conteúdo estudado sobre herança, criação e uso de hierarquia, e classes abstratas e interfaces, analise as afirmações a seguir:
I. Toda assinatura de método abstrato deve ser implementada pela próxima classe mais especializada da hierarquia e que não seja abstrata.
II. Assinaturas de métodos não abstratos, declarados em uma classe abstrata, também precisam ser implementadas pela subclasse.
III. Toda assinatura de método abstrato não possui chaves e é finalizada com ponto e vírgula.
IV. Assim como os métodos, o construtor de uma classe abstrata pode ser também abstrato.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
I e II.
2. 
II e III.
3. 
I e III.
Resposta correta
4. 
I e IV.
5. 
II e IV.
4. Pergunta 4
/0
Criar uma superclasse abstrata que tenha todos os campos e métodos comuns às subclasses é importante, mas, em alguns casos, os métodos existentes podem não executar a tarefa ideal para aquele caso – então, a subclasse deverá sobrescrevero método. Nesse sentido, o interessante é declarar apenas uma assinatura de método estático, e não o implementar. Um exemplo para esse cenário seria ter uma superclasse animal e nela existir um método denominado emitir som, porém cada animal, que seria uma subclasse, emitiria um som diferente e o método não funcionaria da mesma forma para todos.
Considerando essas informações e o conteúdo estudado sobre classes abstratas, analise as asserções a seguir e a relação proposta entre elas:
I. Quando criados métodos genéricos em uma superclasse abstrata, é interessante que eles atendam exatamente ao que as subclasses precisam, caso contrário, os métodos deverão ser declarados apenas como abstratos.
Porque:
II. Pode-se dizer que a classe abstrata funcionaria como um guia, contendo apenas o que deve ser feito pela subclasse, mas sem a necessidade de dizer como deverá ser feito.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Resposta correta
2. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
3. 
As asserções I e II são proposições falsas.
4. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
5. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
5. Pergunta 5
/0
Leia o trecho a seguir:
“[…] uma interface é uma coleção de declarações de métodos sem dados (sem atributos) e sem corpo. Ou seja, os métodos de uma interface são sempre vazios – são simples assinaturas de métodos. Desta forma, pode-se considerar que uma interface é um contrato entre a classe (que a implementa) […]”.Fonte: BEDER, D. M. Introdução à programação orientada a objetos em Java. São Carlos: UFSCar, 2014. p. 37. Disponível em: https://bit.ly/30MkFyB. Acesso em: 14 abr. 2020.
Considerando essas informações e o conteúdo estudado sobre interfaces, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):
I. ( ) Ao implementar uma interface, a classe deve implementar as assinaturas de métodos existentes na interface.
II. ( ) Uma classe pode implementar quantas interfaces forem necessárias, isso é algo ilimitado.
III. ( ) Uma interface pode estender inúmeras outras interfaces, sendo essa a única forma de herança múltipla em Java.
IV. ( ) Uma interface pode ser instanciada da mesma forma que uma classe abstrata.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
F, V, F, V.
2. 
F, F, V, V.
3. 
V, F, V, F.
4. 
V, F, F, V.
5. 
V, V, V, F.
Resposta correta
6. Pergunta 6
/0
Uma das vantagens da programação orientada a objetos é o uso da herança, que possibilita a utilização de uma classe para criar outras a partir dela. A herança só pode ser aplicável quando se pode dizer “é um”, ou seja, quando um objeto é do mesmo tipo que outro.
Considerando essas informações e o conteúdo estudado sobre herança, pode-se afirmar que:
Ocultar opções de resposta 
1. 
a classe filha precisa implementar a classe mãe.
2. 
a classe mãe precisa ter o modificador static.
3. 
a classe filha precisa ter modificador de acesso public.
4. 
a classe mãe precisa ter o modificador final.
5. 
a classe herdada é denominada superclasse.
Resposta correta
7. Pergunta 7
/0
Em uma interface, ao declarar um atributo, ele será por padrão, mesmo que implicitamente, public e final. Isso determina que o atributo pode ser acessado por qualquer classe de qualquer pacote e, por ser final, torna-se imutável em tempo de execução.
Considerando essas informações e o conteúdo estudado sobre classe abstratas e interfaces, pode-se afirmar que:
Ocultar opções de resposta 
1. 
os atributos declarados na interface são constantes e não precisarão ser inicializados.
2. 
os atributos devem ser sobrescritos na classe que implementa a interface, garantindo assim a inicialização deles.
3. 
no construtor da classe que implementa a interface, deve-se inicializar o atributo da interface.
4. 
em uma implementação de interface, é possível alterar o modificador de acesso do atributo declarado.
5. 
os atributos declarados na interface são constantes e precisarão ser inicializados.
Resposta correta
8. Pergunta 8
/0
Leia o trecho a seguir:
“O mecanismo de herança permite construir uma hierarquia Generalização/Especialização de classes baseadas no relacionamento ‘é um’, em que as classes mais genéricas se encontram nos níveis mais altos da hierarquia, enquanto as classes mais especializadas se encontram nos níveis mais baixos.”Fonte: BEDER, D. M. Introdução à programação orientada a objetos em Java. São Carlos: UFSCar, 2014. p. 35. Disponível em: https://bit.ly/30MkFyB. Acesso em: 14 abr. 2020.
Considerando essas informações e o conteúdo estudado sobre herança e criação e uso da hierarquia, pode-se afirmar que:
Ocultar opções de resposta 
1. 
classes genéricas devem ser declaradas com modificador de acesso public e modificador static.
2. 
a classe mais especializada, que se encontra no nível mais baixo, terá apenas métodos e atributos da superclasse que está herdando.
3. 
a classe mais genérica existente na hierarquia de classes é a Object, sendo esta o topo da hierarquia.
Resposta correta
4. 
classes genéricas devem ser declaradas com modificador de acesso public e modificador final.
5. 
a classe mais especializada é a classe Object, e as demais classes sempre herdarão os métodos contidos na Object.
9. Pergunta 9
/0
Leia o trecho a seguir:
“Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma classe base ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (estruturas e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela.”Fonte: RICARTE, I. L. M. Programação orientada a objetos: uma abordagem com Java. Campinas: Unicamp, 2001. p. 6. Disponível em: https://bit.ly/2MWV3qN. Acesso em: 7 jun. 2020.
Considerando essas informações e o conteúdo estudado sobre herança, analise as afirmativas a seguir:
I. Uma classe declarada como final não pode ser herdada.
II. Uma classe abstrata não pode ser instanciada.
III. A classe herdeira deve possuir a palavra-chave “implements”.
IV. Qualquer classe pode ser herdada.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
I e IV.
2. 
III e IV.
3. 
II e III.
4. 
II e IV.
5. 
I e II.
Resposta correta
10. Pergunta 10
/0
Para uma subclasse herdar uma superclasse, ela deve estender essa superclasse por meio do uso da palavra-chave “extends”, que deverá ser declarada após o nome da subclasse e seguida do nome da superclasse. Consequentemente, essa subclasse conterá todos os atributos e métodos existentes na superclasse.
Considerando essas informações e o conteúdo estudado sobre herança e criação e uso de hierarquia, pode-se afirmar que:
Ocultar opções de resposta 
1. 
o construtor padrão da superclasse só é executado se for declarado explicitamente no construtor da subclasse e é o primeiro a ser executado.
2. 
o construtor padrão da superclasse é executado automaticamente quando a subclasse é instanciada, mesmo que não declarado explicitamente.
Resposta correta
3. 
em uma hierarquia entre ClasseA que estende a ClasseB, que por vez estende a ClasseC, a ClasseA pode chamar o construtor da ClasseC.
4. 
para acessar atributos e métodos da superclasse, inclusive o construtor, deve-se fazer uso palavra-chave “super”.
5. 
se a superclasse contiver um método public qualquer e na subclasse não fizer uso da palavra-chave “super”, ocorrerá erro de compilação.
Programação Orientada a Objetos - POO
Análise e Desenvolvimento de Sistemas – Autoaprendizagem 4
NOTA 10/10
1. Pergunta 1
/0
De acordo com a imagem abaixo, a classe Pessoa implementa e sobrescreve o método toString, e a classe Aluno que estende Pessoa, também implementa e sobrescreve o método toString. Cada qual implementa seu próprio código em cada classe,retornando seus dados. 
IMAGEM 2(1).PNG
Considerando essas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):
I. ( ) O polimorfismo está sendo aplicado no método main da classe IniciarAplicacao.
II. ( ) A ligação dinâmica está sendo aplicada no método main da classe IniciarAplicacao.
III. ( ) Será apresentado erro na execução, pois é impossível converter objeto aluno em pessoa.
IV. ( ) Ao executar a aplicação, será exibido no console a mensagem “Aluno: Malaquias 1º B”.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
V, F, F, V.
2. 
V, V, F, V.
Resposta correta
3. 
F, V, V, V.
4. 
F, V, V, V.
5. 
V, V, F, F.
2. Pergunta 2
/0
Analisando as classes a seguir, vê-se que o método Start possui o operador instanceof declarado na linha 10 da classe, e ele é usado para comparar se um objeto é instância de uma classe específica. Basicamente, ele está comparando se o objeto produto é um Eletrodomestico. Na linha 11, o objeto produto qual é recebido por parâmetros, é realizado um cast para o tipo Eletrodoméstico, ou seja, ele está assumindo sua forma original, caso a verificação acima (linha 10) seja verdadeira.
IMAGEM 8.PNG
Considerando essas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, quanto à execução do código acima, a execução do método consultarPreco, onde x e y são quaisquer valores numéricos, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):
I. ( ) Se o produto obtido for um objeto de Eletrodoméstico, ocorrerá o polimorfismo.
II. ( ) Se o produto obtido for um objeto de Movel, ocorrerá o polimorfismo.
III. ( ) Se o produto obtido for um objeto de Eletrodomestico, a ligação dinâmica será aplicada.
IV. ( ) Se o produto obtido for um objeto de Movel, a ligação dinâmica será aplicada.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
F, V, F, V.
2. 
V, V, F, V.
Resposta correta
3. 
V, F, V, V.
4. 
F, V, V, V.
5. 
F, F, V, V.
3. Pergunta 3
/0
Dado que para haver a ligação dinâmica é necessário que haja o polimorfismo, e que por vez, necessita que haja herança entre a subclasse e superclasse, o código a seguir instancia um novo objeto do tipo Produto, que sobrescreve o método toString.
imagem 6.PNG
Considerando essas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
I. ( ) O objeto produto pode ser passado como parâmetro, já que o método aguarda o tipo Object.
II. ( ) O código apresentado deixará de ser compilado, pois o parâmetro esperado é o Object.
III. ( ) Nesse exemplo, no método toStringdeObject está sendo aplicado polimorfismo.
IV. ( ) No código apresentado, os indícios do uso da ligação dinâmica são inexistentes.
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
F, V, F, F.
2. 
V, F, V, F.
Resposta correta
3. 
V, V, F, F.
4. 
V, F, F, F.
5. 
V, F, F, V.
4. Pergunta 4
/0
Considerando que a classe Bicicleta seja subclasse da superclasse MeioLocomocao. Ambas possuem o método locomover, e a subclasse Bicicleta possui o método pedalar. A subclasse sobrescreve o método locomover, e durante a instanciação do objeto da subclasse, sua referência está apontada para a superclasse.
Considerando essas informações e o conteúdo estudado sobre polimorfismo, analise as asserções a seguir e a relação proposta entre elas:
I. O código apresentará erro durante a execução.
Porque:
II. Uma referência de subclasse não pode ser referência de instancia de uma superclasse.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
2. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
3. 
As asserções I e II são proposições falsas.
4. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Resposta correta
5. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
5. Pergunta 5
/0
As capturas de exceções são feitas para que se possa realizar alguma ação diante de um cenário onde há alguma probabilidade de haver erros e diante destes erros podem ser criados fluxos alternativos, ou apenas registrar logs sobre os erros. Para o registro de logs, geralmente é utilizada alguma biblioteca, como o log4j, por exemplo, mas não necessariamente são utilizados para registrar as exceções, pois também servem para registrar informações sobre a execução do sistema, podendo ser declarados em qualquer trecho do código.
Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, para capturar uma exceção e registrar em um log, pode-se afirmar que:
Ocultar opções de resposta 
1. 
a funcionalidade deve ser declarada no bloco try.
2. 
a funcionalidade deve ser declarada no bloco finally.
3. 
a funcionalidade deve ser declarada no bloco if.
4. 
a funcionalidade deve ser declarada no bloco else.
5. 
a funcionalidade deve ser declarada no bloco catch.
Resposta correta
6. Pergunta 6
/0
Diante do cenário em que temos a classe Funcionario, Gerente e Programador, as classes Gerente e Programador são subclasses de Funcionario. A classe Funcionario possui métodos genéricos que foram sobrescritos por suas subclasses.
Considerando essas informações e o conteúdo estudado sobre Polimorfismo e ligação dinâmica, analise as asserções a seguir e a relação proposta entre elas:
I. Por ser subclasse, a classe Programador pode ser instanciada em uma referência da classe Funcionario.
Porque:
II. O polimorfismo permite que subclasses sejam instanciadas em referências de suas superclasses.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
2. 
As asserções I e II são proposições falsas.
3. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Resposta correta
4. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
5. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
7. Pergunta 7
/0
Um dos erros mais comuns durante a execução de um programa é o erro NullPointerException, o qual indica que a aplicação tentou usar uma referência nula, ou seja, que ainda não possui um objeto definido para aquela referência. A imagem a seguir é uma estrutura de código que deverá exibir o detalhe existente no método toString da classe Produto.
imagem 4.PNG
Considerando estas informações e o conteúdo estudado sobre tratamento de exceções, analise as asserções a seguir e a relação proposta entre elas:
I. O código apresentará a exceção NullPointerException.
Porque:
II. O objeto produtos da classe BancoDeDadosVirtual não foi instanciado.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
As asserções I e II são proposições falsas.
2. 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
3. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Resposta correta
4. 
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
5. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
8. Pergunta 8
/0
Em determinado trecho de código, o sistema realiza a consulta de um dado no banco de dados por meio de alguma propriedade, que possivelmente pode ser um ID desse objeto. Quando o objeto é encontrado, suas informações são recuperadas e o objeto é criado através dessas propriedades.
Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, pode-se afirmar que:
Ocultar opções de resposta 
1. 
a consulta poderá não retornar nenhuma informação, o que resultaria em uma referência nula, e ao tentar acessar esta referência, implicaria na exceçãoNullPointerException caso o sistema tente acessá-la.
Resposta correta
2. 
a consulta sempre retornará um objeto do banco de dados com as informações existentes recuperadas do banco, e por este motivo haverá sempre uma referência não nula.
3. 
a consulta poderá não retornar nenhuma informação, e deve ser implementado a estrutura if-else para capturar esta exceção e criar fluxos alternativos.
4. 
ao realizar uma consulta no bando de dados, deve-se implementar os blocos try-catch para evitar NullPointerException que poderá ser gerado caso objeto não seja encontrado no banco de dados.
5. 
a consulta poderá não retornar nenhuma informação, o que resulta em uma referência nula, e ao tentar acessar esta referência, será instanciado um novo objeto com atributos vazios.
9. Pergunta 9
/0
O polimorfismo geralmente é implementado pelas linguagens orientadas a objeto quando é utilizada a ligação dinâmica (dynamic binding), na qual apenas durante a execução da aplicação é determinado qual o método deverá ser utilizado.
Considerando estas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, analise as asserções a seguir e a relação proposta entre elas:
I. O polimorfismo e a ligação dinâmica estão associados.
Porque: 
II. A ligação dinâmica é o resultado quando o próprio Java determina qual método deve ser utilizado, diante do cenário onde há o polimorfismo aplicado.
A seguir, assinale a alternativa correta:
Ocultar opções de resposta 
1. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
2. 
As asserções I e II são proposições falsas.
3. 
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
Resposta correta
4. 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
5. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
10. Pergunta 10
/0
Leia o trecho a seguir:
“Uma exceção é um sinal que indica que algum tipo de condição excepcional ocorreu durante a execução do programa. Assim, exceções estão associadas a condições de erro que não tinham como ser verificadas durante a compilação do programa.”Fonte: RICARTE, I. L. M. Programação orientada a objetos: uma abordagem com Java. Campinas: Unicamp, 2001. p. 29. Disponível em: https://bit.ly/2NnCqML. Acesso em: 10 jun. 2020.
Considerando estas informações e o conteúdo estudado sobre tratamento de exceções, analise as afirmativas a seguir:
I. Uma exceção pode ser evitada fazendo uso de operador ternário.
II. Uma exceção pode ser evitada fazendo uso do if-else.
III. Uma exceção pode ser evitada fazendo uso do try-catch.
IV. Quando uma referência está nula é gerado a exceção NullPointerException.
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
II e IV.
2. 
I e II.
Resposta correta
3. 
I e III.
4. 
II e III.
5. 
I e IV

Outros materiais