Buscar

programação orientada a objetos 2

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 6 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 6 páginas

Prévia do material em texto

Disciplina:
	Programação Orientada a Objetos (ADS17)
	Avaliação:
	Avaliação II - Individual FLEX ( Cod.:650716) ( peso.:1,50)
	Prova:
	22410614
	Nota da Prova:
	10,00
	
	
Legenda:  Resposta Certa   Sua Resposta Errada  
Parte superior do formulário
	1.
	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)
	V - F - V - V.
	 b)
	F - V - F - V.
	 c)
	V - V - F - V.
	 d)
	V - V - F - F.
	2.
	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ção em 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)
	V - V - F - V.
	 b)
	V - V - F - F.
	 c)
	F - F - V - F.
	 d)
	V - F - F - V.
	3.
	De acordo com o paradigma da programação orientada a objetos, o relacionamento de herança difere-se do relacionamento de associação especialmente pela definição dos tipos envolvidos. Considerando a figura a seguir, classifique V para as sentenças verdadeiras e F para falsas:
(    ) O relacionamento mais adequado entre Personagem e Gladiador é o de herança.
(    ) Um Personagem tem uma arma, o que caracterizaria um relacionamento de associação.
(    ) Se Personagem está associado a uma arma e Gladiador é subclasse de Soldado, necessariamente Gladiador tem uma arma.
(    ) O relacionamento mais adequado entre Gladiador e Soldado é o de associação.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
	
	 a)
	V - F - F - V.
	 b)
	V - V - V - V.
	 c)
	F - V - F - F.
	 d)
	V - V - F - F.
	4.
	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)
	V - F - F - V.
	 b)
	V - V - V - F.
	 c)
	F - V - F - V.
	 d)
	F - F - V - V.
	5.
	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)
	A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe.
	 c)
	Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private.
	 d)
	Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui.
	6.
	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)
	Um método com o modificador public não faz sentido em uma classe com o modificador default.
	 b)
	O modificador public não pode ser usado na frente de atributos.
	 c)
	O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
	 d)
	O modificador private permite o acesso somente dentro do mesmo pacote.
	7.
	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.  
Agora, assinale a alternativa CORRETA:
	
	 a)
	As sentenças II e III estão corretas.
	 b)
	Somente a sentença II está correta.
	 c)
	As sentenças I e II estão corretas.
	 d)
	Somente a sentença I está correta.
	8.
	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)
	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....".
	 b)
	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").
	 c)
	Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
	 d)
	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....".
	9.
	A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA:
	 a)
	O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse.
	 b)
	O polimorfismoapenas ocorre quando o modificador dos métodos da classe forem "protected".
	 c)
	O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte.
	 d)
	O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte.
	10.
	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 public para uma classe fornece visibilidade desta classe em todas as demais classes da aplicação.
	 b)
	O modificador default fornece visibilidade dentro da própria classe.
	 c)
	O modificador private fornece acesso a todas as classes da aplicação.
	 d)
	O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote.
Parte inferior do formulário

Continue navegando