Prévia do material em texto
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 1/7
Prova Impressa
GABARITO | Avaliação Final (Objetiva) - Individual
(Cod.:746064)
Peso da Avaliação 3,00
Prova 51258146
Qtd. de Questões 10
Acertos/Erros 7/3
Nota 7,00
O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de
herança uma maior confiabilidade uma vez que as classes modeladas com herança precisam ser
melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe Atleta, a seguir, e
classifique V para as sentenças verdadeiras e F para as falsas:
package fontes;
public class Atleta{
private int pais;
private String modalidade;
private boolean medalistaOlimpico;
public abstract void competir(String modalidade) {
System.out.println("É especialista em " + modalidade);
}
public void competirPor(int pais){
System.out.println("O atleta compete por " + pais);
}
}
( ) A classe em questão apresenta problemas de sintaxe.
( ) O método competirPor(int pais) não está gerando erro de sintaxe e usa corretamente a palavra-
chave void.
( ) O método competirPor(int pais) não possui um retorno de tipo definido.
( ) O método "competir(String modalidade)" gera erro de sintaxe, pois não necessita da palavra-
chave abstract.
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - V - V.
B V - F - V - V.
C V - V - F - F.
D F - F - V - V.
VOLTAR
A+
Alterar modo de visualização
1
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 2/7
Os padrões de projeto auxiliam o desenvolvimento de software orientado a objetos,
solucionando problemas rotineiros que normalmente ocorrem durante as etapas desse
desenvolvimento. Dentre os padrões, pode-se citar o Singleton, que descreve uma implementação na
qual uma classe é instanciada uma única vez durante a execução de uma aplicação. Referente ao
código-fonte que implementa um exemplo da aplicação Singleton para a classe Conexao, analise as
sentenças a seguir:
(1) public class Conexao{
(2) private int numeroConexoes;
(3) private static Conexao instancia;
(4)
(5) private Conexao(){
(6) }
(7)
(8) public static Conexao getInstance() {
(9) if(instancia == null) {
(10) instancia = new Conexao();
(11) }
(12) return instancia;
(13) }
(14)
(15) public int getNumeroConexoes() {
(16) return this.numeroConexoes;
(17) }
(18)
(19) public void setNumeroConexoes(int numeroConexoes) {
(20) this.numeroConexoes = numeroConexoes;
(21) }
(22)}
I- As linhas 5 e 6 do código-fonte representam uma implementação opcional, construtor privado, que
pode ser retirado da classe Conexao uma vez que um construtor privado impede a instanciação da
referida classe.
II- As linhas 5 e 6 do código-fonte representam uma implementação de um construtor privado
necessário à classe Conexao, que apesar de violar o conceito "público" dos métodos construtores,
impede uma instanciação padrão da referida classe realizada por outras classes.
III- Os métodos get e set implementados, juntamente com o atributo "numeroConexoes", não
representam uma associação direta com o conceito do padrão Singleton.
IV- As linhas 2 e 3 do código-fonte da classe "Conexao" compõem os atributos que apresentam uma
das características do padrão Singleton.
Assinale a alternativa CORRETA:
A As sentenças II e IV estão corretas.
B As sentenças III e IV estão corretas.
C As sentenças I e II estão corretas.
D As sentenças II e III estão corretas.
Da mesma forma que a comparação de igualdade entre objetos, a linguagem de programação
Java oferece um mecanismo que permite a definição dos critérios de ordenação para objetos que
2
3
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 3/7
forem colocados em uma coleção ordenável. Com relação aos métodos de ordenação disponíveis para
objetos em coleções, assinale a alternativa CORRETA:
A A Interface Comparable deve ser implementada por um objeto externo chamado de provider, que
procederá com a ordenação de dois objetos de cada vez.
B O método compareTo(Object, object) da Interface Comparable retorna um object, quando
sobrescrito.
C O método compare(Object arg1, Object arg2) está disponível na interface Comparator.
D A Interface Comparator deve ser implementada pelos objetos que estiverem sendo ordenados.
Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações entre si, e
duas maneiras de se estabelecer uma relação entre objetos são através da associação e da herança que
devem ser utilizados na solução de problemas diferentes. Dessa forma, sobre esses relacionamentos,
assinale a alternativa CORRETA:
A Os dois tipos de relacionamento são implementados na linguagem de programação Java através
de palavras reservadas.
B Uma associação não permite o compartilhamento de métodos e de atributos entre classes.
C Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma
associação ou uma herança.
D Nos relacionamentos de associação, o conceito de subclasse é utilizado de maneira diferente do
que nos relacionamentos de herança.
O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a
vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O
polimorfismo permite que outras classes representem o comportamento de classes que elas
referenciam. Com relação às classes criadas no código-fonte, analise as sentenças a seguir:
(1)public class Veiculo {
(2) public void parar(){}
(3)}
(4)
(5)public class Motocicleta extends Veiculo{
(6) public void parar(){
(7) System.out.println("Parando a motocicleta!!");
(8) }
(9)}
(10)
(11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle)
(12)public class Suv extends Veiculo{
(13) public void parar(){
(14) System.out.println("Parando o veículo utilitário!!");
(15) }
(16)}
(17)
(18)public class Principal {
(19) public static void main(String[] args){
(20) Veiculo veiculo1 = new Motocicleta();
4
5
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 4/7
(21) Veiculo veiculo2 = new Suv();
(22)
(23) veiculo1.parar();
(24) veiculo2.parar();
(25) }
(26)}
I- Apesar do código-fonte não lidar com classes abstratas, existe o polimorfismo implementado entre
as classes do exemplo.
II- Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe Veiculo
nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo (Motocicleta e
Suv).
III- A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao executarmos a
classe Principal, será impresso primeiramente a mensagem (Parando a motocicleta!!) e depois
(Parando o veículo utilitário!!).
IV- As classes Motocicleta e Suv referenciam o comportamento da classe Veiculo, e ao executarmos a
classe Principal, será impresso primeiramente a mensagem (Parando o veículo utilitário!!) e depois
(Parando a motocicleta!!).
Assinale a alternativa CORRETA:
A As sentenças I e III estão corretas.
B As sentenças II e IV estão corretas.
C As sentenças I e II estão corretas.
D As sentenças III e IV estão corretas.
Quando dois objetos são referenciados por variáveis diferentes, a igualdade entre estes objetos
pode ser definida através da sobrescrição do método equals(), em que é determinado qual ou quais
atributos devem representar esta igualdade. Considerando o mecanismo de referenciação da Java
Virtual Machine e o código fonte a seguir, assinale a alternativa CORRETA:
A O console imprimirá diferentes.
B Ocorre um erro de compilação.
C O console imprimirá iguais.
D Ocorre um erro na execução.
6
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 5/7
O Guia de Referência Rápida da Linguagem de Programação Java enumera os tipos referência
utilizados pela linguagem. Considerando esses tipos, assinalea alternativa INCORRETA:
A Por exemplo: Animal = new Animal ("elefante").
B A variável de referência pode ser usada para se referir a algum objeto do tipo Unique.
C O valor padrão de qualquer variável de referência é nula.
D
Variáveis de referência são criados usando construtores definidos para as classes. Essas variáveis
são declaradas usando um tipo específico que não pode ser mudado. Por exemplo, Livro, Pessoa
etc.
Em combinação com a definição de pacotes e classes, os modificadores de visibilidade constituem-se
de um recurso poderoso na definição da segurança e encapsulamento da aplicação. Com relação à
utilização de modificadores de visibilidade na linguagem de programação Java, analise as sentenças a
seguir:
I – Um método com modificador default contido em uma classe pública não pode ser acessado em
uma classe disponível em outro pacote.
II – Um método com modificador public contido em uma classe pública somente pode ser acessado
por uma classe disponível em outro pacote através do comando import.
III – Uma classe com modificador default pode ser acessada por uma classe de outro pacote com o
comando import.
IV – Um método private colocado em uma classe com o modificador default não pode ser acessado
por outra classe dento do mesmo pacote.
V – Um método public colocado em uma classe com o modificador default não pode ser acessado por
outra classe dento do mesmo pacote.
7
8
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 6/7
Assinale a alternativa CORRETA:
A As sentenças II e V estão corretas.
B As sentenças I e III estão corretas.
C As sentenças II e IV estão corretas.
D As sentenças I, II e IV estão corretas.
A estrutura de uma classe na linguagem de programação Java comporta um nome, um conjunto
de atributos, também conhecidos como o estado desta classe e um conjunto de métodos, também
conhecidos como o comportamento desta classe. Considerando a estrutura da Classe Principal
demonstrada na figura a seguir, classifique V para as sentenças verdadeiras e F para as falsas:
( ) A linha 1 define, através da palavra reservada "package", que a classe está agrupada obedecendo
as suas responsabilidades dentro de uma aplicação.
( ) Já que o método "Aluno()" não possui parâmetros as linhas 7 a 9 geram erros de compilação.
( ) Pode-se afirmar que o tipo de dados do atributo "nome", existente na classe aluno é do tipo
booleano.
( ) Pode-se afirmar que o tipo de dados do atributo "matricula", existente na classe aluno é do tipo
numérico.
Assinale a alternativa que apresenta a sequência CORRETA:
A V - F - V - V.
B V - F - F - V.
C F - F - V - F.
D F - F - V - V.
9
28/04/2023, 14:42 Avaliação Final (Objetiva) - Individual
about:blank 7/7
Determinadas ocorrências podem alterar o fluxo de um programa escrito em Java, seja por falha
de hardware, exaustão de recursos ou erros. Essas ocorrências, conhecidas por exceções, funcionam
como qualquer outro tipo de classe, possuindo métodos, atributos e permitindo, inclusive, o uso de
herança e polimorfismo. No que se refere à estrutura "try-catch-finally", utilizada para realizar o
tratamento de exceções no Java, analise as sentenças a seguir:
I- O bloco finally só é executado ao término, com sucesso, do bloco try.
II- É possível utilizar vários blocos catch para capturar exceções vindas de um único bloco try.
III- O bloco catch é opcional, não havendo um limite máximo para diferentes blocos catch.
IV- Em um programa Java, deve-se utilizar "try-catch-finally" apenas uma única vez, na classe que
contém o método responsável por iniciar a aplicação.
Agora, assinale a alternativa CORRETA:
A As sentenças II, III e IV estão corretas.
B Somente a sentença IV está correta.
C Somente a sentença II está correta.
D As sentenças I e II estão corretas.
10
Imprimir