Buscar

PROGRAMAÇAO 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 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

Acadêmico: Wallyson Maciel de Lima (1284PPP) 
Disciplina: Programação Orientada a Objetos (ADS17) 
Avaliação: Avaliação II - Individual FLEX ( Cod.:456751) ( peso.:1,50) 
Prova: 13553305 
Nota da Prova: 9,00 
Legenda: Resposta Certa Sua Resposta Errada 
1. 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 tem como superclasse a classe FormaGeometrica. 
 
Agora, assinale a alternativa CORRETA: 
 
 a) As sentenças II e III estão corretas. 
 b) As sentenças I e III estão corretas. 
 c) Somente a sentença I está correta. 
 d) As sentenças I e II estão corretas. 
 
2. 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 - V - V - F. 
 b) F - V - F - V. 
 c) V - F - F - V. 
 d) F - F - V - V. 
 
3. 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 protected. 
 
Agora, assinale a alternativa CORRETA: 
 a) Somente a sentença II está correta. 
 b) As sentenças I e III estão corretas. 
 c) As sentenças III e IV estão corretas. 
 d) Somente a sentença IV está correta. 
 
4. 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 - F - F - V. 
 b) V - V - F - F. 
 c) V - V - F - V. 
 d) F - F - V - F. 
 
5. 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. 
 
6. A herança é um dos pilares da programação orientada a objetos e pode, quando bem 
utilizada, diminuir o esforço na manutenção do código fonte. Com relação ao 
relacionamento de herança entre duas ou mais classes, analise as sentenças a seguir: 
 
I- Através da herança, é possível reaproveitar atributos já definidos em uma classe 
mãe. 
II- Uma classe filha pode herdar de quantas superclasses quiser na linguagem de 
programação Java. 
III- Não é possível herdar a implementação de métodos, visto que todos devem ser 
reescritos através do polimorfismo. 
IV- A palavra inherits define a herança na linguagem de programação Java. 
 
Agora, assinale a alternativa CORRETA: 
 a) As sentenças II e III estão corretas. 
 b) Somente a sentença I está correta. 
 c) As sentenças I, II e IV estão corretas. 
 d) Somente a sentença IV está correta. 
 
7. 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 II está correta. 
 b) As sentenças I, II e IV estão corretas. 
 c) As sentenças II e III estão corretas. 
 d) Somente a sentença IV está correta. 
 
8. 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) V - F - F - V. 
 b) V - V - V - F. 
 c) F - V - F - F. 
 d) V - F - V - V. 
 
9. 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) 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) 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....". 
 d) Não existe polimorfismo implementado entre as classes do código-fonte 
apresentado. 
 
10. 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 - F - F. 
 c) V - V - V - V. 
 d) F - V - F - F. 
 
Prova finalizada com 9 acertos e 1 questões erradas. 
BOA PA NOIS MEU MANO!! BORA DAR AQUELA AJUDA CURTE O MATERIAL QUE AJUDA 
BASTANTE NOIS ... FLW ----ADS!!!!

Continue navegando