Prévia do material em texto
Disciplina: Programação Orientada a Objetos Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada Parte superior do formulário 1. 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 III e IV estão corretas. c) Somente a sentença IV está correta. d) As sentenças I e III estão corretas. 2. Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou atributos visíveis ou invisíveis, facilitando o seu encapsulamento. Com estes modificadores, podemos, por exemplo, liberar o acesso de um atributo de uma classe X por uma classe Y. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) O método "getCodigo()"da classe "Carro" é visível em todas as classes do pacote. ( ) O método "getCodigo()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getValor()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getModelo()"da classe "Carro" é visível somente dentro da própria classe "Carro". Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) F - F - V - V. c) V - V - F - F. d) F - V - F - F. 3. Os modificadores de acesso são palavras reservadas da linguagem de programação Java e definem os padrões de visibilidade de acesso às classes, aos atributos e aos métodos. Por intermédio dos modificadores de acesso, é possível ocultar determinadas partes do código, dividindo o programa em partes menores e independentes e esta ação, de ocultar e/ou dividir, é conhecida como encapsulamento Acerca do conceito de encapsulamento e dos modificadores de acesso da linguagem de programação Java, analise as afirmativas a seguir: I- Uma declaração com o modificador "public" permite o acesso de qualquer lugar do projeto Java e por qualquer entidade que possa visualizar a classe a que ela pertença. II- Os membros de uma classe declarados com o modificador "protected" não podem ser acessados ou utilizados por nenhuma outra classe. III- Métodos declarados como "default" só podem ser acessados a partir dos métodos da própria classe. IV- O Java define quatro modificadores de visibilidade: "private", "public", "protected" e "default". Agora, assinale a alternativa CORRETA: a) As afirmativas II e III estão corretas. b) As afirmativas I e IV estão corretas. c) As afirmativas II, III e IV estão corretas. d) Somente a afirmativa I está correta. 4. 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 polimorfismo permite que um único nome de classe represente diferentes códigos-fonte. c) O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte. d) O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected". 5. 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 I, II e IV estão corretas. b) Somente a sentença IV está correta. c) Somente a sentença I está correta. d) As sentenças II e III estão corretas. 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) O modificador default permite o acesso padrão a todos dentro da mesma aplicação. b) Um método com o modificador public não faz sentido em uma classe com o modificador default. c) O modificador private permite o acesso somente dentro do mesmo pacote. d) O modificador public não pode ser usado na frente de atributos. 7. Quanto maior o acoplamento entre duas classes, maior o grau de relacionamento entre estas, o que é contrário aos princípios do encapsulamento. Assinale a alternativa CORRETA que explique um malefício causado pelo alto acoplamento: a) O alto acoplamento impede que os objetos se comuniquem livremente através de mensagens, deixando o sistema pouco flexível. b) Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte. c) Em uma situação na qual duas classes são fortemente acopladas, a comunicação entre estas torna-se mais difícil. d) Em um sistema em que ocorre alto acoplamento, a performance tende a ser baixa. 8. 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) F - V - F - V. c) V - F - F - V. d) V - V - V - F. 9. 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 Trianguloimplementa a interface FormaGeometrica. Agora, assinale a alternativa CORRETA: a) As sentenças I e II estão corretas. b) Somente a sentença I está correta. c) Somente a sentença II está correta. d) As sentenças II e III estão corretas. 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 - V - V - V. b) V - F - F - V. c) F - V - F - F. d) V - V - F - F. Prova finalizada com 10 acertos e 0 questões erradas. Parte inferior do formulário