O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Aula 4 acessibilidade

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Java oo-heranca
Java oo-heranca
Carregando em…3
×

Confira estes a seguir

1 de 32 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Aula 4 acessibilidade (20)

Anúncio

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. Acessibilidade Acessibilidade ou Visibilidade ou Encapsulamento, conhecidos como “data hiding”, é um conceito bastante importante em orientação a objetos. São maneiras de restringir o acesso as declarações de 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. Acessibilidade Por que restringir o acesso a certas partes de uma classe?  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. Acessibilidade O Java possui três especificadores de acesso explícitos e um especificador implícito  (public, private e protected)  (package).
  5. 5. Acessibilidade Especificadores 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. Acessibilidade Com estes especificadores se definem campos e métodos de uso livre (public) ou ocultos (private), evitando seu uso. Também permitem indicar quais elementos da classe poderão ser empregados na construção de novas subclasses (protected) através da herança. A omissão de especificadores subentende o nível pacote (package)
  7. 7. Exemplo 01
  8. 8. Exemplo 01
  9. 9. Exercício 01 A partir do exercício Calculo_geometrico.java fazer as seguintes mudanç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ça Exemplos 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 suas variá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ça Sempre se pensa em objetos como especializações de outros objetos: Metal precioso Metal  Metais preciosos - metais Carro esportivo Carro  Carros esportivos - carros Livro de romance Livro  Livros de romance – livros Conta Subclasse, superclasse e diagrama Bancária de hierarquia de classe Conta Poupança Aplicação Corrente
  12. 12. Herança Herança entre classes em Java é declarada usando a palavra-chave extends. Para que uma classe D herde as variáveis e métodos da classe C, declara-se  class D extends C.
  13. 13. Herança Só é permitida a herança de uma classe para outra (ou seja, não existem mecanismos diretos para herança múltipla em Java), mas é possível termos classes que herdam indiretamente de outras através da herança em cascata: a classe E pode herdar das classes C e D se a classe E herdar da D e esta, por sua vez, herdar da classe C. Herança de classes funciona em um sentido somente: A classe Filho pode herdar da classe Pai e acrescentar métodos e variáveis próprias, mas estas somente valerão para a classe Filho - a classe Pai não sofrerá modificações nem poderá usar o que foi declarado dentro da classe Filho.
  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 entre objetos
  15. 15. Herança e Subclasses Especialização e Generalização NoConta 123456 Subclasse: uma classe que herda métodos Saldo 10000.00 e representação de uma classe existente Tempo 5.0 Superclasse: 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 superclasse Mensagem enviadax Qual método é executado umaContaAplicação consultarTempo método da classe ContaAplicação umaContaCorrente consultarSaldo método herdado da classe ContaBancária umaContaPoupança consultarTempo erro – nenhum método na superclasse umaContaPoupanç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 ConsultarSaldo Classe 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 - protected Protected – 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. Exemplo Banco.java
  20. 20. Conta.java
  21. 21. Conta_Poupança.java
  22. 22. Exercício 2 A partir da estrutura apresentada no próximo slide, crie as respectivas classes utilizando o conceito de herança
  23. 23. Exercício 2 Classe Objeto_Veículo Classe Veículo OPERAÇÕES Atributos e métodos Classe 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 2 Veí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 2 Veí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 2 Veí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 2 Terrestre – possíveis atributos  Número de eixos  Tração  Quantidade de portas  Tipo  Quilometragem (Km)
  28. 28. Exercício 2 Terrestre – possíveis métodos  Atribuir  Mostrar
  29. 29. Exercício 2 Aé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 2 Aéreo – possíveis métodos  Atribuir  Mostrar
  31. 31. Exercício 2 Aquá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 2 Aquático – possíveis métodos  Atribuir_  Mostrar

×