Prova 3b - 2012

2,914 views
2,663 views

Published on

Prova aplicada na disciplina de Programação Orientada a Objetos II no SENAI SC de São José no primeiro semestre de 2012.

1 Comment
2 Likes
Statistics
Notes
  • oii gostei muito do teste, mas gostava que tu me mandass a reslução deste teste or favaor, graciasesta aqui o meu email isimbo@hotmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,914
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
142
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Prova 3b - 2012

  1. 1. SENAI Palhoça / São José Curso Técnico em Informática – Prova 2BQuestão 1 (25 pontos). Associe os conceitos abaixo1 Herança Não permite que seja realizada a implementação dos métodos. Serve como contrato onde as classes que a implementam devem obrigatoriamente implementar todos os seus métodos.2 Classes Abstratas É a capacidade de uma classe ter todos os métodos e variáveis de instância de outra classe sem precisar reescrever o código.3 Classes Interface É a capacidade de um objeto ser referenciado de diversas formas .4 Polimorfismo Garante a manutenibilidade do código pois cada alteração deverá ser feita em apenas um local.5 Encapsulamento Permite a declaração de métodos e atributos concretos e abstratos, porém, não pode ser instanciada diretamente.Obs: Instância é uma outra forma de nos referirmos a um objeto. Por exemplo, na operação: Jogador jog = new Jogador( );Dizemos que estamos criando uma instância (ou objeto) da classe Jogador.Questão 2 (10 pontos). Sobre o modificador static, observe os códigos abaixo e assinale aalternativa falsa.class Conta { 1 //... private static int totalDeContas; 2 Conta() { 3 println( “Contas ” + Conta.getTotalDeContas() ); Conta.totalDeContas = Conta.totalDeContas + 1; 4 } 5 Conta c1 = new Conta(); 6 Conta c2 = new Conta(); public static int getTotalDeContas() { 7 Conta c3 = new Conta(); return Conta.totalDeContas; 8 } 9 println( “Contas ” + Conta.getTotalDeContas() );} 10 println( “Contas ” + c1.getTotalDeContas() );a) A linha 10 não poderá ser compilada pois o método getTotalDeContas é estático e só podeser acessado diretamente da classe Conta como nas linhas 3 e 9.b) Cada vez que um objeto é criado para a classe Conta o construtor soma um ao valor donúmero total de contas.c) Como o atributo totalDeContas é estático, ele nunca poderá ser acessado através dapalavra-chave this, porque this se refere a um objeto e toda variável estática só pode seracessada através da classe.d) A linha 3 imprimirá “Contas 0”, a linha 9 imprimirá “Contas 0” e a linha 10 imprimirá “Contas0” porque em nenhum momento foi alterado o valor do atributo totalDeContas.
  2. 2. Questão 3 (vale 20 pontos). Sobre os conceitos de Herança, Classes Abstratas e ClassesInterface, assinale verdadeiro ou falso: ( ) Classes interface, diferentemente das classes abstratas, não podem conter nenhuma implementação de método. Todos os métodos de uma interface não possuem implementação. ( ) A palavra-chave super permite acessar qualquer método de qualquer classe do sistema. É utilizado com muita frequência quando um recurso é necessário em muitas classes que não tem nenhum relacionamento entre si. ( ) Métodos abstratos em uma classe abstrata são métodos que não possuem implementação. Isso obriga todos as classes filhas a implementarem o comportamento destes métodos abstratos. Um bom exemplo são os métodos step e draw da classe GameObject. ( ) Considere a assinatura de classe public class Gerente extends Funcionario implements Autenticavel Mesmo sem conhecer a classe Autenticavel, podemos afirmar com certeza absoluta que ela é uma classe interface.Questão 4 (20 pontos). Sobre Polimorfismo, considere as classes abaixo e assinaleverdadeiro ou falso:public class MacaVenenosa extends Item { public class MacaVerde extends Item { public MacaVenenosa(){ public MacaVerde(){ super(Color.red); super(Color.green); } } public void encontrou(Jogador j) { public void encontrou(Jogador j) { if(this.isActive()){ if(this.isActive()){ j.inverteDirecao(); j.endireitaDirecao(); this.setActive(false); j.aumentaVelocidade(); } this.setActive(false); } } }} } ( ) A classe MacaVenenosa é também um ítem e por isso poderia ser armazenada em uma variável do tipo Item como no ex: Item umItem = new MacaVenenosa(); ( ) A classe MacaVerde é também um ítem e por isso poderia ser armazenada em uma variável do tipo Item como no ex: Item umItem = new MacaVerde(); ( ) Como ambas as classes estendem Item, Uma instância de MacaVerde pode ser armazenadas em variáveis do tipo MacaVenenosa como no ex: MacaVenenosa maca = new MacaVerde(); ( ) Polimorfismo é particularmente útil quando precisamos ter listas com diversos objetos de classes diferentes, mas que, estendem uma classe em comum. Graças a este comportamento seria possível gerenciar um cenário com 100 ou 1000 itens diferentes com o mesmo código necessário para gerenciar 2 itens.
  3. 3. Prova 3Bentreguem apenas esta folha.Programação Orientada a Objetos II Professor: Kaléu CaminhaAtividade: Prova 3B Data: 14/03/2012Nome Aluno: ____________________________________________ Nota: _________ (vale 75 pontos) 1 2 3 4Questionário de apoio ao professor1) Vocês estudou o material sobre Herança, Encapsulamento e Polimorfismo da apostila da Caelum indicado paraesta semana? a) Sim, tudo. b) Sim, parcialmente. c) Não. d) Tinha material para ler?2) Qual você considera a sua principal dificuldade na disciplina: a) Entender os conceitos teóricos de Herança, Polimorfismo, Classes abstratas, Classes interface, etc; b) Saber quando utilizar cada um dos conceitos; c) Programar, simplesmente não consigo saber por onde começar a escrever o código; d) Entender as explicações do professor, quando algum amigo explica ou leio em algum local, fica fácil. e) Não gosto de programação e por isso tenho pouca vontade de estudar. Hoje eu acordei Pensando o que vai ser O fim esta por perto e eu vou dizer Que eu vou ir com ele E não vou sofrer sem olhar pra trás eu sei que vou vencer Banda Emit, Seguindo em Frente.

×