Aula 4 acessibilidade

1,014 views
897 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,014
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 4 acessibilidade

  1. 1. Desenvolvimento de Software II Java  Banco de dados JODBC Aula 4: Acessibilidade e Herança Profa Ms.Larissa Pavarini da Luz larissapavarinidaluz@yahoo.com.br
  2. 2. AcessibilidadeAcessibilidade ou Visibilidade ouEncapsulamento, conhecidos como “data hiding”,é um conceito bastante importante em orientação aobjetos.São maneiras de restringir o acesso as declaraçõesde uma classe e a própria classe  Isto é feito através do uso das palavras reservadas public, private e protected que são qualificadores.
  3. 3. AcessibilidadePor que restringir o acesso a certas partes de umaclasse? Deve-se fornecer ao usuário, cliente de uma classe, o necessário e somente o necessário para que ele tire proveito da funcionalidade desta classe. Os detalhes devem ser omitidos, somente a lista de operações a qual uma classe deve atender fica visível.
  4. 4. AcessibilidadeO Java possui três especificadores de acessoexplícitos e um especificador implícito (public, private e protected) (package).
  5. 5. AcessibilidadeEspecificadores Nível Indica que o campo ou o método public Público Pode ser usado livremente pelas instâncias da classe protected Protegido Só pode ser usado na implementação de subclasses package Pacote Só pode ser usado por instâncias dentro do mesmo pacote private privado Não pode ser usado fora da implementação da própria classe
  6. 6. AcessibilidadeCom estes especificadores se definem campos emétodos de uso livre (public) ou ocultos (private),evitando seu uso.Também permitem indicar quais elementos daclasse poderão ser empregados na construção denovas subclasses (protected) através da herança.A omissão de especificadores subentende o nívelpacote (package)
  7. 7. Exemplo 01
  8. 8. Exemplo 01
  9. 9. Exercício 01A partir do exercícioCalculo_geometrico.java fazer as seguintesmudanças: Crie atributos do tipo private nas classes Area_geom.java e Vol_geom.java e crie métodos private que tratem desses atributos de tal forma que quando retornar o resultado, seja retornado pelo método public já criado.
  10. 10. HerançaExemplos e exercícios dados até agora  é necessária a criação de duas ou mais classes distintas mas com muitas características em comum.Ao invés de criar estas classes e duplicar suasvariáveis e métodos: pode-se usar um conceito de POO  Herança que permite que uma classe herde de outra algumas variáveis e métodos reduzindo a necessidade de duplicação.
  11. 11. HerançaSempre se pensa em objetos como especializações deoutros objetos: Metal precioso Metal Metais preciosos - metais Carro esportivo Carro Carros esportivos - carros Livro de romance Livro Livros de romance – livros ContaSubclasse, superclasse e diagrama Bancária de hierarquia de classe Conta Poupança Aplicação Corrente
  12. 12. HerançaHerança entre classes em Java é declaradausando a palavra-chave extends.Para que uma classe D herde as variáveis emétodos da classe C, declara-se class D extends C.
  13. 13. HerançaSó é permitida a herança de uma classe para outra (ou seja,não existem mecanismos diretos para herança múltipla emJava), mas é possível termos classes que herdamindiretamente de outras através da herança em cascata: aclasse E pode herdar das classes C e D se a classe E herdarda D e esta, por sua vez, herdar da classe C.Herança de classes funciona em um sentido somente: Aclasse Filho pode herdar da classe Pai e acrescentarmétodos e variáveis próprias, mas estas somente valerãopara a classe Filho - a classe Pai não sofrerá modificaçõesnem poderá usar o que foi declarado dentro da classeFilho.
  14. 14. Herança e Subclasses Relacionamento ‘é-um’ X Relacionamento ‘parte de’ Máquina Ponto Pistão Círculo Relacionamentos de subclasse são relacionamentos de classeRelacionamentos de parte ou componentes são relacionamentos entreobjetos
  15. 15. Herança e Subclasses Especialização e Generalização NoConta 123456Subclasse: uma classe que herda métodos Saldo 10000.00 e representação de uma classe existente Tempo 5.0Superclasse: uma classe da qual uma outra classe herda representação e NoConta 654321 Saldo 3300.77 métodos Objeto NoConta 162435 Saldo 23.99 Conta Bancária Conta Poupança Aplicação Corrente
  16. 16. Herança e Subclasses Aplicação – tempo (variável de instância adicional) Subclasses podem adicionar novas variáveis de instância, mas não podem remover Subclasses podem sobrepor a herança de um método de uma superclasse Métodos de implementação idêntica nas subclasses podem ser implementados uma única vez na superclasseMensagem enviadax Qual método é executadoumaContaAplicação consultarTempo método da classe ContaAplicaçãoumaContaCorrente consultarSaldo método herdado da classe ContaBancáriaumaContaPoupança consultarTempo erro – nenhum método na superclasseumaContaPoupança imprimir método herdado da classe Objeto
  17. 17. Herança e Subclasses Classe Objeto OPERAÇÕES Imprimir Classe Conta Bancária OPERAÇÕES Depositar: quantidade Retirar: quantidade ConsultarSaldoClasse Conta Corrente Classe Aplicações OPERAÇÕES OPERAÇÕES Classe Poupança Depositar: quantidade Retirar: quantidade OPERAÇÕES ConsultarTempo Retirar: quantidade
  18. 18. Herança - protectedProtected – protegido Só pode ser usado na implementação de subclasses Apenas utilizado com herança Parecido com o private, porém a classe que herdar a classe que possui métodos ou atributos protegidos os herdará também.
  19. 19. ExemploBanco.java
  20. 20. Conta.java
  21. 21. Conta_Poupança.java
  22. 22. Exercício 2A partir da estrutura apresentada nopróximo slide, crie as respectivas classesutilizando o conceito de herança
  23. 23. Exercício 2 Classe Objeto_Veículo Classe Veículo OPERAÇÕES Atributos e métodosClasse Terrestre Classe Aquática OPERAÇÕES OPERAÇÕES Atributos e Classe Aéreo Atributos e métodos métodos OPERAÇÕES Atributos e métodos
  24. 24. Exercício 2Veículo – possíveis atributos Velocidade Máxima Capacidade de carga Quantidade de pessoas Ano de fabricação Cor Combustível Fabricante
  25. 25. Exercício 2Veículo – possíveis métodos Atribuir_Velocidade_Máxima(double valor) Atribuir_Capacidade de carga Atribuir_Quantidade de pessoas Atribuir_Ano de fabricação Atribuir_Cor Atribuir_Combustível Atribuir_Fabricante
  26. 26. Exercício 2Veículo – possíveis métodos Apresentar_Velocidade_Máxima(double valor) Apresentar_Capacidade de carga Apresentar_Quantidade de pessoas Apresentar_Ano de fabricação Apresentar_Cor Apresentar_Combustível Apresentar_Fabricante
  27. 27. Exercício 2Terrestre – possíveis atributos Número de eixos Tração Quantidade de portas Tipo Quilometragem (Km)
  28. 28. Exercício 2Terrestre – possíveis métodos Atribuir Mostrar
  29. 29. Exercício 2Aéreo – possíveis atributos Tipo de propulsão – hélice, turbina, gás (balão) Boolean asas Tamanho Milhagem Tipo de uso – particular, público, militar Empuxo – potência de decolagem Tipo de decolagem – vertical ou horizontal
  30. 30. Exercício 2Aéreo – possíveis métodos Atribuir Mostrar
  31. 31. Exercício 2Aquático – possíveis atributos Tipo de propulsão – hélice, remo,vela Milhagem marítimas Quantidade de coletes salva vidas Tamanho – pés Tipo – pesca, passeio
  32. 32. Exercício 2Aquático – possíveis métodos Atribuir_ Mostrar

×