Logo Passei Direto
Buscar

Avaliação II - Programação Orientada a Objetos

Ferramentas de estudo

Questões resolvidas

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 de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para as sentenças verdadeiras e F para as falsas:
Assinale a alternativa que apresenta a sequência CORRETA:
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; }
( ) public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ this.numeroMarchas = numeroMarchas; this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(char roda){ this.tamanhoRoda = roda; }
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(){ this.numeroMarchas = numeroMarchas; }
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){}
A) F - V - V - F.
B) F - V - F - V.
C) V - V - F - F.
D) V - F - F - V.

Uma das principais características da orientação a objetos é a possibilidade de ocultar partes do código de um objeto, chamada de encapsulamento. Com o encapsulamento, cada parte do código-fonte é menor e independente de outras partes, isto é, cada método é específico, realizando uma única operação, tornando o código-fonte mais reutilizável e legível. Com relação ao encapsulamento, assinale a alternativa CORRETA:
a) O encapsulamento evita que alguma entidade externa altere os valores dos atributos de um objeto indevidamente.
b) A interface exposta de uma classe, se alterada para privada, encapsulada, não requer cuidado para os métodos chamadores.
c) Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento.
d) O encapsulamento permite a instância de uma classe em memória.

A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos pilares da programação orientada a objetos e pode, quando bem modelada e utilizada, diminuir o esforço na manutenção do código-fonte.
Considerando o relacionamento de herança entre duas ou mais classes, assinale a alternativa CORRETA:
A A herança de métodos é possível, porém os métodos do tipo "get" e "set" devem ser reescritos através do polimorfismo.
B Com a utilização do recurso de herança é possível compartilhar métodos entre uma classe pai e uma classe filha, porém esse compartilhamento não é possível no tocante aos atributos.
C Com a utilização do recurso de herança é possível compartilhar atributos entre uma classe pai e uma classe filha, porém esse compartilhamento não é possível no tocante aos métodos.
D A palavra extends define a herança na linguagem de programação Java.

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":
I- A classe em questão não apresenta nenhum problema de sintaxe.
II- O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave "abstract", antes da palavra chave "void", resolverá o erro gerado.
III- O método "competirPor(int pais)" não gera erros de sintaxe, logo não necessita da palavra-chave "abstract", antes da palavra-chave "void".
IV- O método "competir(String modalidade)" gera erro de sintaxe.
A) As sentenças II e III estão corretas.
B) As sentenças II e IV estão corretas.
C) As sentenças III e IV estão corretas.
D) As sentenças I e II estão corretas.

O encapsulamento ajuda a diminuir o acoplamento entre os objetos de um sistema, pois prega que somente o que é absolutamente necessário deve ser exposto aos demais.
Com relação ao encapsulamento, assinale a alternativa CORRETA:
A) Um bom cidadão é um objeto que tem todos os valores de seus atributos preenchidos no momento da instanciação.
B) O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais facilidade.
C) Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
D) Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento.

O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou operação, e outra classe, abstrata, possui um método com mesmo nome dos métodos das classes anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas), executando a operação correta.
Com relação ao código-fonte a seguir e ao polimorfismo da orientação a objetos, assinale a alternativa CORRETA:
a) Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
b) As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o caminhão...." e depois "Acelerando o carro....".
c) Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas linhas 19 e 20 são inválidas, pois recebem a instância de classes de outro tipo ("Carro" e "Caminhao").
d) A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....".

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:
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!!).
A As sentenças III e IV 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 e II estão corretas.

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) Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
d) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui.

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 programação orientada a objetos, analise as sentenças a seguir:
I- A classe FormaGeometrica, indicada pela letra A, é considerada a superclasse das classes contidas na área indicada pela letra B.
II- Quadrado é uma classe filha da classe FormaGeometrica.
III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a implementação da superclasse de Triangulo.
IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF.
A - Somente a sentença III está correta.
B - As sentenças I e IV estão corretas.
C - As sentenças I, II e III estão corretas.
D - As sentenças II e IV estão corretas.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

Questões resolvidas

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 de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para as sentenças verdadeiras e F para as falsas:
Assinale a alternativa que apresenta a sequência CORRETA:
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; }
( ) public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ this.numeroMarchas = numeroMarchas; this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(char roda){ this.tamanhoRoda = roda; }
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; }
( ) public Bicicleta(){ this.numeroMarchas = numeroMarchas; }
( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){}
A) F - V - V - F.
B) F - V - F - V.
C) V - V - F - F.
D) V - F - F - V.

Uma das principais características da orientação a objetos é a possibilidade de ocultar partes do código de um objeto, chamada de encapsulamento. Com o encapsulamento, cada parte do código-fonte é menor e independente de outras partes, isto é, cada método é específico, realizando uma única operação, tornando o código-fonte mais reutilizável e legível. Com relação ao encapsulamento, assinale a alternativa CORRETA:
a) O encapsulamento evita que alguma entidade externa altere os valores dos atributos de um objeto indevidamente.
b) A interface exposta de uma classe, se alterada para privada, encapsulada, não requer cuidado para os métodos chamadores.
c) Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento.
d) O encapsulamento permite a instância de uma classe em memória.

A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos pilares da programação orientada a objetos e pode, quando bem modelada e utilizada, diminuir o esforço na manutenção do código-fonte.
Considerando o relacionamento de herança entre duas ou mais classes, assinale a alternativa CORRETA:
A A herança de métodos é possível, porém os métodos do tipo "get" e "set" devem ser reescritos através do polimorfismo.
B Com a utilização do recurso de herança é possível compartilhar métodos entre uma classe pai e uma classe filha, porém esse compartilhamento não é possível no tocante aos atributos.
C Com a utilização do recurso de herança é possível compartilhar atributos entre uma classe pai e uma classe filha, porém esse compartilhamento não é possível no tocante aos métodos.
D A palavra extends define a herança na linguagem de programação Java.

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":
I- A classe em questão não apresenta nenhum problema de sintaxe.
II- O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave "abstract", antes da palavra chave "void", resolverá o erro gerado.
III- O método "competirPor(int pais)" não gera erros de sintaxe, logo não necessita da palavra-chave "abstract", antes da palavra-chave "void".
IV- O método "competir(String modalidade)" gera erro de sintaxe.
A) As sentenças II e III estão corretas.
B) As sentenças II e IV estão corretas.
C) As sentenças III e IV estão corretas.
D) As sentenças I e II estão corretas.

O encapsulamento ajuda a diminuir o acoplamento entre os objetos de um sistema, pois prega que somente o que é absolutamente necessário deve ser exposto aos demais.
Com relação ao encapsulamento, assinale a alternativa CORRETA:
A) Um bom cidadão é um objeto que tem todos os valores de seus atributos preenchidos no momento da instanciação.
B) O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais facilidade.
C) Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
D) Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento.

O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou operação, e outra classe, abstrata, possui um método com mesmo nome dos métodos das classes anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas), executando a operação correta.
Com relação ao código-fonte a seguir e ao polimorfismo da orientação a objetos, assinale a alternativa CORRETA:
a) Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
b) As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o caminhão...." e depois "Acelerando o carro....".
c) Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas linhas 19 e 20 são inválidas, pois recebem a instância de classes de outro tipo ("Carro" e "Caminhao").
d) A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....".

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:
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!!).
A As sentenças III e IV 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 e II estão corretas.

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) Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
d) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui.

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 programação orientada a objetos, analise as sentenças a seguir:
I- A classe FormaGeometrica, indicada pela letra A, é considerada a superclasse das classes contidas na área indicada pela letra B.
II- Quadrado é uma classe filha da classe FormaGeometrica.
III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a implementação da superclasse de Triangulo.
IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF.
A - Somente a sentença III está correta.
B - As sentenças I e IV estão corretas.
C - As sentenças I, II e III estão corretas.
D - As sentenças II e IV estão corretas.

Prévia do material em texto

1. 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 de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe 
Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para 
as sentenças verdadeiras e F para as falsas: 
 
public class Bicicleta{ 
 private char tamanhoQuadro; 
 private int numeroMarchas; 
 private char tamanhoRoda; 
 public void movimentar(){ 
 System.out.println("O objeto bike está em movimento!!"); 
 } 
} 
 
 
( ) 
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.numeroMarchas = numeroMarchas; 
 this.tamanhoRoda = tamanhoRoda; 
} 
 
public Bicicleta(char tQuadro, int nMarchas){ 
 this.tamanhoQuadro = tQuadro; 
 this.numeroMarchas = nMarchas; 
} 
 
( ) 
public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ 
 this.numeroMarchas = numeroMarchas; 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.tamanhoRoda = tamanhoRoda; 
} 
public Bicicleta(char roda){ 
 this.tamanhoRoda = roda; 
} 
 
 
( ) 
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.tamanhoRoda = tamanhoRoda; 
} 
public Bicicleta(char tamanhoQuadro, int numeroMarchas){ 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.numeroMarchas = numeroMarchas; 
 this.tamanhoRoda = tamanhoRoda; 
} 
 
 
( ) 
public Bicicleta(){ 
 this.numeroMarchas = numeroMarchas; 
} 
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ 
} 
 
Assinale a alternativa que apresenta a sequência CORRETA: 
A) F - V - V - F. 
B) F - V - F - V. 
C) V - V - F - F. 
D) V - F - F - V. 
 
2. Uma das principais características da orientação a objetos é a possibilidade de ocultar partes do código de um objeto, chamada de 
encapsulamento. Com o encapsulamento, cada parte do código-fonte é menor e independente de outras partes, isto é, cada método é específico, 
realizando uma única operação, tornando o código-fonte mais reutilizável e legível. Com relação ao encapsulamento, assinale a alternativa 
CORRETA: 
A) Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento. 
B) A interface exposta de uma classe, se alterada para privada, encapsulada, não requer cuidado para os métodos chamadores. 
C) O encapsulamento evita que alguma entidade externa altere os valores dos atributos de um objeto indevidamente. 
D) O encapsulamento permite a instância de uma classe em memória.A) V - F - V - F. 
 
3. A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos pilares da programação orientada a objetos e 
pode, quando bem modelada e utilizada, diminuir o esforço na manutenção do código-fonte. Considerando o relacionamento de herança entre 
duas ou mais classes, assinale a alternativa CORRETA: 
A) Com a utilização do recurso de herança é possível compartilhar métodos entre uma classe pai e uma classe filha, porém esse compartilhamento 
não é possível no tocante aos atributos. 
B) Com a utilização do recurso de herança é possível compartilhar atributos entre uma classe pai e uma classe filha, porém esse compartilhamento 
não é possível no tocante aos métodos. 
C) A herança de métodos é possível, porém os métodos do tipo "get" e "set" devem ser reescritos através do polimorfismo. 
D) A palavra extends define a herança na linguagem de programação Java. 
 
4. 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. Sobre esses relacionamentos, analise 
as sentenças a seguir: 
 
I- Quando um relacionamento de associação é estabelecido entre duas ou mais classes, significa que os objetos dessas classes estão relacionados, 
de alguma maneira, no mundo real. 
II- Nos relacionamentos de associação, o conceito de superclasse é utilizado de maneira diferente do que nos relacionamentos de herança. 
III- Os relacionamentos do tipo "associação" são implementados na linguagem de programação Java através das palavras reservadas "associate 
to". 
IV- Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma herança. 
 
Assinale a alternativa CORRETA: 
A) As sentenças I e IV estão corretas. 
B) As sentenças II e III estão corretas. 
C) As sentenças I e III estão corretas. 
D) As sentenças II e IV estão corretas. 
 
5. 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": 
 
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); 
 } 
 
} 
 
I- A classe em questão não apresenta nenhum problema de sintaxe. 
II- O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave "abstract", antes da palavra chave "void", 
resolverá o erro gerado. 
III- O método "competirPor(int pais)" não gera erros de sintaxe, logo não necessita da palavra-chave "abstract", antes da palavra-chave "void". 
IV- O método "competir(String modalidade)" gera erro de sintaxe. 
 
Assinale a alternativa CORRETA: 
A) As sentenças II e III estão corretas. 
B) As sentenças II e IV estão corretas. 
C) As sentenças III e IV estão corretas. 
D) As sentenças I e II estão corretas. 
 
6. O encapsulamento ajuda a diminuir o acoplamento entre os objetos de um sistema, pois prega que somente o que é absolutamente necessário 
deve ser exposto aos demais. Com relação ao encapsulamento, assinale a alternativa CORRETA: 
A) Um bom cidadão é um objeto que tem todos os valores de seus atributos preenchidos no momento da instanciação. 
B) O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais facilidade. 
C) Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos. 
D) Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento. 
 
7. (Questão Anulada) O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou operação, e outra 
classe, abstrata, possui um método com mesmo nome dos métodos das classes anteriores, podendo receber a invocação de qualquer um dos dois 
objetos (classes instanciadas), executando a operação correta. Conforme exemplificado, a implementação de polimorfismo pode ocorrer através 
de uma classe abstrata, cujos métodos são declarados, mas não definidos. Com relação ao código-fonte a seguir e ao polimorfismo da orientação 
a objetos, assinale a alternativa CORRETA: 
 
A) As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será 
impresso primeiramente a mensagem "Acelerando o caminhão...." e depois "Acelerando o carro....". 
B) Não existe polimorfismo implementado entre as classes do código-fonte apresentado. 
C) Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas linhas 19 e 20 são inválidas, pois 
recebem a instância de classes de outro tipo ("Carro" e "Caminhao"). 
D) A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executadaa classe "Teste", será impresso 
primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....". 
 
8. 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(); 
(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 II estão corretas. 
B) As sentenças III e IV estão corretas. 
C) As sentenças II e IV estão corretas. 
D) As sentenças I e III estão corretas. 
9. 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) Uma classe coesa é, necessariamente, uma classe com alto acoplamento. 
B) Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private. 
C) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui. 
D) A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe. 
 
10. 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 programação orientada a objetos, analise as sentenças a seguir: 
 
I- A classe FormaGeometrica, indicada pela letra A, é considerada a superclasse das classes contidas na área indicada pela letra B. 
II- Quadrado é uma classe filha da classe FormaGeometrica. 
III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a implementação da superclasse de Triangulo. 
IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF. 
 
Agora, assinale a alternativa CORRETA: 
 
A) Somente a sentença III está correta. 
B) As sentenças II e IV estão corretas. 
C) As sentenças I e IV estão corretas. 
D) As sentenças I, II e III estão corretas.

Mais conteúdos dessa disciplina