Baixe o app para aproveitar ainda mais
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!!!!
Compartilhar