Prévia do material em texto
23/03/2023, 16:02 Avaliação II - Individual
about:blank 1/7
Prova Impressa
GABARITO | Avaliação II - Individual (Cod.:768337)
Peso da Avaliação 1,50
Prova 57995112
Qtd. de Questões 10
Acertos/Erros 7/2
Canceladas 1
Nota 8,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 não apresenta problemas de sintaxe.
( ) O método competirPor(int pais) está gerando erro de sintaxe e usa incorretamente a palavra-
chave void.
( ) O método competirPor(int pais) possui um retorno de tipo definido.
( ) O método "competir(String modalidade)" não gera erro de sintaxe e usa a palavra-chave abstract
corretamente.
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - V - V.
B F - F - V - V.
C V - F - V - V.
D F - F - F - F.
A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite
que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes conjuntos
VOLTAR
A+ Alterar modo de visualização
1
2
23/03/2023, 16:02 Avaliação II - Individual
about:blank 2/7
de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta e a sintaxe
aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, assinale
a alternativa CORRETA:
public class Bicicleta{
private char tamanhoQuadro;
private int numeroMarchas;
private char tamanhoRoda;
public void movimentar(){
System.out.println("O objeto bike está em movimento!!");
}
}
A public Bicicleta(){ } public Bicicleta(char tamanhoQuadro){ this.tamanhoQuadro =
tamanhoQuadro; }
B
public Bicicleta(){ } public Bicicleta(char tamanhoQuadro, int numeroMarchas, char
tamanhoRoda){ this.tamanhoQuadro = numeroMarchas; this.numeroMarchas = tamanhoQuadro;
this.tamanhoRoda = tamanhoRoda; }
C
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){
this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas;
this.tamanhoRoda = tamanhoRoda; } public Bicicleta(){ this.tamanhoRoda = tamanhoRoda;; }
D
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){
this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; } public
Bicicleta(char numeroMarchas){ this. numeroMarchas = numeroMarchas; }
Uma das principais vantagens em se desenvolver um software utilizando o paradigma da
orientação a objetos, é a reutilização de código-fonte, tornando-o mais legível e fácil de realizar
manutenção. Neste sentido, podemos exemplificar a facilidade de manutenção com a necessidade de
criar uma coluna em uma tabela, gravando um valor fixo. Neste caso, basta alterar o método que
realiza a inserção de registro nesta tabela, e o software está alterado, mesmo que o método seja
invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V para as sentenças
verdadeiras e F para as falsas:
( ) Devido à herança, a linha 31 está correta.
( ) A classe "Carro" herda o método "getNomeModelo()" da classe "Veiculo".
( ) A classe "Veiculo" herda os métodos com modificador "public" da classe "Carro".
( ) Ocorre uma relação de herança entre as duas classes, sendo que a classe "Carro" herda atributos
e métodos da classe "Veiculo".
3
23/03/2023, 16:02 Avaliação II - Individual
about:blank 3/7
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - F - V.
B F - V - F - F.
C V - F - F - V.
D V - V - V - F.
A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade
dentro do sistema, o que faz com que a sua correção, em caso de erros ou a manutenção em caso de
evolução, seja simplificada. No que se refere à coesão de uma classe, assinale a alternativa
CORRETA:
A Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através
do modificador de acesso private.
B A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma
classe.
C Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer
manutenção diminui.
D Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década
de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em
que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de
4
5
23/03/2023, 16:02 Avaliação II - Individual
about:blank 4/7
programação orientada a objetos, analise as sentenças a seguir:
I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na
área indicada pela letra B.
II- Quadrado é uma classe filha da classe FormaGeometrica.
III- A classe Triangulo implementa a interface FormaGeometrica.
Agora, assinale a alternativa CORRETA:
A Somente a sentença I está correta.
B As sentenças II e III estão corretas.
C Somente a sentença II está correta.
D As sentenças I e II estão corretas.
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 Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma
associação ou uma herança.
B Nos relacionamentos de associação, o conceito de subclasse é utilizado de maneira diferente do
que nos relacionamentos de herança.
C Uma associação não permite o compartilhamento de métodos e de atributos entre classes.
6
23/03/2023, 16:02 Avaliação II - Individual
about:blank 5/7
D Os dois tipos de relacionamento são implementados na linguagem de programação Java através
de palavras reservadas.
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, classifique V para as sentenças
verdadeiras e F para as falsas:
(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();
(21) Veiculo veiculo2 = new Suv();
(22)
(23) veiculo1.parar();
(24) veiculo2.parar();
(25) }
(26)}
( ) Não existe o polimorfismo implementado entre as classes do exemplo, uma vez que a classe
Veiculo não é uma classe abstrata.
( ) 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).
( ) Existe o polimorfismo implementadoentre as classes do exemplo, mesmo a classe Veiculo sendo
uma classe concreta.
( ) 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!!).
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - F - F.
B F - F - V - V.
C V - F - F - V.
7
23/03/2023, 16:02 Avaliação II - Individual
about:blank 6/7
D F - V - V - F.
Em Orientação a Objetos, para que uma subclasse de uma classe possa ter seu próprio
comportamento, e mesmo assim compartilhar algumas das funcionalidades da classe pai, deve-se
implementar um método.
Qual é esse método?
A Abstração.
B Agregação.
C Composição.
D Polimorfismo.
Na linguagem de programação Java, existem os modificadores de acesso que fornecem
visibilidade ou invisibilidade para classes, métodos ou atributos. Através destes modificadores de
acesso, pode-se tornar um atributo acessível para outra classe, por exemplo, ou ainda torná-lo visível
apenas dentro da própria classe. Analise o código-fonte, escrito em linguagem de programação Java,
a seguir e classifique V para as sentenças verdadeiras e F para as falsas:
( ) A classe "Carro" é visível em todas as demais classes da aplicação.
( ) Os atributos "codigo" e "modelo" são visíveis por todas as classes que delegarem a classe
"Carro".
( ) O atributo "valor" é acessível apenas na subclasse do relacionamento de herança, se houver.
( ) O atributo "qtdePortas" é visível por todas as classes que delegarem a classe "Carro".
Assinale a alternativa que apresenta a sequência CORRETA:
A F - V - F - F.
B V - F - V - V.
C V - F - F - V.
D V - V - V - F.
8
9
23/03/2023, 16:02 Avaliação II - Individual
about:blank 7/7
Atenção: Esta questão foi cancelada, porém a pontuação foi considerada.
Na linguagem de programação Java, uma boa prática de desenvolvimento de software é
programar orientado a objetos, embora a linguagem permita a programação procedural. No
paradigma da orientação a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos
ou classes. Isto é realizado através de alguns modificadores de visibilidade, os quais são
implementados. Com relação a estes modificadores de visibilidade, assinale a alternativa CORRETA:
A O modificador private fornece acesso a todas as classes da aplicação.
B O modificador default fornece visibilidade dentro da própria classe.
C O modificador public para uma classe fornece visibilidade desta classe em todas as demais
classes da aplicação.
D O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote.
10
Imprimir