Buscar

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

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 5 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

Prévia do material em texto

O polimorfismo é implementado de muitas formas dentro da linguagem de programação Java, sendo que uma das mais
utilizadas é a criação e a implementação de interfaces. Considerando a criação e a utilização de interfaces dentro da linguagem de
programação Java, analise o código fonte da figura a seguir e classifique V para as sentenças verdadeiras e F para as falsas:
( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12.
( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia.
( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o método gerarChaveCripto(Date data).
( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A V - F - V - V.
B V - V - F - V.
C V - V - F - F.
D F - V - F - F.
Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e
comportamentos já implementados em outras classes sem a necessidade de realizar a cópia de código-fonte. Com relação a esse
conceito, classifique V para as sentenças verdadeiras e F para as falsas:
( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super.
( ) A implementação de herança múltipla em Java não é possível.
( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives".
( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - V.
B V - F - F - V.
C F - V - F - V.
D V - V - V - F.
Através do encapsulamento, é possível deixar o software mais manutenível, através da centralização de responsabilidades,
ocultação de implementação e exposição de interfaces. Com relação ao encapsulamento e sua implementação na linguagem de
programação Java, analise as sentenças a seguir:
I- Atributos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
II- O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
III- Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código
fonte.
IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso
1
2
3
protected.
Agora, assinale a alternativa CORRETA:
A Somente a sentença II está correta.
B As sentenças III e IV estão corretas.
C Somente a sentença IV está correta.
D As sentenças I e III estão corretas.
O Polimorfismo de inclusão permite que se defina um novo comportamento para um objeto sem que se faça alterações nos que
já estão funcionando, minimizando consideravelmente os custos e reduzindo o tempo para novas implementações. Considerando que
a figura a seguir traz duas classes relacionadas a uma interface, classifique V para as sentenças verdadeiras e F para as falsas:
( ) O método encript() da interface é implicitamente abstrato.
( ) Na linguagem de programação Java, demonstraríamos que SHA implementa IAlgoritmoCriptografia através da palavra
reservada extends.
( ) Um método existente em outra classe cuja assinatura seja “public void criptografar(IAlgoritmoCriptografia iac)” pode receber
como parâmetro tanto um objeto da classe SHA quanto um objeto da classe DES.
( ) Podemos dizer que tanto SHA quanto DES implementam IAlgoritmoCriptografia.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A F - V - F - V.
B V - F - V - V.
C V - V - F - F.
D V - V - F - V.
Em combinação com a definição de pacotes e classes, os modificadores de visibilidade constituem-se de uma ferramenta
poderosa 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.
Agora, assinale a alternativa CORRETA:
A Somente a sentença IV está correta.
B As sentenças I, II e IV estão corretas.
C Somente a sentença II está correta.
D As sentenças II e III estão corretas.
4
5
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 executada a classe "Teste", será
impresso primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....".
A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser
colocados na frente de classes, atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java,
assinale a alternativa CORRETA:
A O modificador private permite o acesso somente dentro do mesmo pacote.
B Um método com o modificador public não faz sentido em uma classe com o modificador default.
C O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
D O modificador public não pode ser usado na frente de atributos.
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 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. 
6
7
8
Agora, assinale a alternativa CORRETA:
A As sentenças II e III estão corretas.
B Somente a sentença II está correta.
C Somente a sentença I está correta.
D As sentenças I e II estão corretas.
A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na
definição de relacionamentos de herança e, consequente, reutilização e extensão de estado e comportamento. Com relação às classes
abstratas da linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas:
( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato.
( ) Uma classe abstrata não pode possuir métodos concretos.
( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteraçãoem suas subclasses.
( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - F.
B V - V - F - V.
C V - F - F - V.
D V - V - F - F.
Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, mecanismo que permite que duas
ou mais classes derivadas de uma mesma superclasse possam criar e/ou invocar métodos com a mesma assinatura, mas com
comportamentos diferentes. Com relação ao conceito de polimorfismo e sua implementação na linguagem Java, analise as
afirmativas a seguir:
I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de tipos de polimorfismo. 
II- O Java não permite a implementação do polimorfismo paramétrico. 
III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois métodos com o mesmo nome, o
mesmo retorno e o mesmo conjunto de argumentos, mas com uma lógica diferente. 
IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. 
9
10
Agora, assinale a alternativa CORRETA:
A As afirmativas II, III e IV estão corretas.
B As afirmativas II e IV estão corretas.
C As afirmativas I e IV estão corretas.
D Somente a afirmativa I está correta.

Continue navegando