32
Desenvolvimento de Software II Java Banco de dados JODBC Aula 4: Acessibilidade e Herança Prof a Ms.Larissa Pavarini da Luz [email protected]

Aula 4 acessibilidade

Embed Size (px)

Citation preview

Page 1: Aula 4   acessibilidade

Desenvolvimento de Software II

Java Banco de dados JODBC

Aula 4: Acessibilidade e Herança

Profa Ms.Larissa Pavarini da Luz

[email protected]

Page 2: Aula 4   acessibilidade

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.

Page 3: Aula 4   acessibilidade

Acessibilidade

Por que restringir o acesso a certas partes de umaclasse?

Deve-se fornecer ao usuário, cliente de umaclasse, o necessário e somente o necessário paraque ele tire proveito da funcionalidade destaclasse.

Os detalhes devem ser omitidos, somente a listade operações a qual uma classe deve atenderfica visível.

Page 4: Aula 4   acessibilidade

Acessibilidade

O Java possui três especificadores de acesso

explícitos e um especificador implícito

(public, private e

protected)

(package).

Page 5: Aula 4   acessibilidade

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

Page 6: Aula 4   acessibilidade

Acessibilidade

Com 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)

Page 7: Aula 4   acessibilidade

Exemplo 01

Page 8: Aula 4   acessibilidade

Exemplo 01

Page 9: Aula 4   acessibilidade

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.

Page 10: Aula 4   acessibilidade

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.

Page 11: Aula 4   acessibilidade

Sempre se pensa em objetos como especializações de

outros objetos:

Metais preciosos - metais

Carros esportivos - carros

Livros de romance – livros

Subclasse, superclasse e diagrama

de hierarquia de classe

Metal precioso

Carro esportivo

Livro de romance

Metal

Carro

Livro

Conta Bancária

Conta Corrente

Poupança Aplicação

Herança

Page 12: Aula 4   acessibilidade

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.

Page 13: Aula 4   acessibilidade

Herança

Só é 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.

Page 14: Aula 4   acessibilidade

Relacionamento ‘é-um’ X Relacionamento ‘parte de’

Relacionamentos de subclasse são relacionamentos de classe

Relacionamentos de parte ou componentes são relacionamentos entre objetos

Máquina

Pistão

Ponto

Círculo

Herança e Subclasses

Page 15: Aula 4   acessibilidade

Subclasse: uma classe que herda métodos

e representação de uma classe existente

Superclasse: uma classe da qual uma

outra classe herda representação e

métodos

NoConta 123456Saldo 10000.00Tempo 5.0

Objeto

Conta Bancária

Conta Corrente

AplicaçãoPoupança

NoConta 654321Saldo 3300.77

NoConta 162435Saldo 23.99

Herança e Subclasses

Especialização e Generalização

Page 16: Aula 4   acessibilidade

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

Herança e Subclasses

Page 17: Aula 4   acessibilidade

OPERAÇÕESImprimir

OPERAÇÕESDepositar: quantidadeRetirar: quantidadeConsultarSaldo

OPERAÇÕES

OPERAÇÕESRetirar: quantidade

OPERAÇÕESDepositar: quantidadeRetirar: quantidadeConsultarTempo

Classe Objeto

Classe Conta Bancária

Classe Conta Corrente

Classe Poupança

Classe Aplicações

Herança e Subclasses

Page 18: Aula 4   acessibilidade

Herança - protected

Protected – protegido

Só pode ser usado na implementação desubclasses

Apenas utilizado com herança

Parecido com o private, porém a classe queherdar a classe que possui métodos ou atributosprotegidos os herdará também.

Page 19: Aula 4   acessibilidade

Exemplo

Banco.java

Page 20: Aula 4   acessibilidade

Conta.java

Page 21: Aula 4   acessibilidade

Conta_Poupança.java

Page 22: Aula 4   acessibilidade

Exercício 2

A partir da estrutura apresentada no

próximo slide, crie as respectivas classes

utilizando o conceito de herança

Page 23: Aula 4   acessibilidade

Exercício 2

Classe

Objeto_Veículo

OPERAÇÕESAtributos e métodos

OPERAÇÕES

Atributos e

métodos OPERAÇÕESAtributos e métodos

OPERAÇÕES

Atributos e métodos

Classe Veículo

Classe Terrestre

Classe Aéreo

Classe Aquática

Page 24: Aula 4   acessibilidade

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

Page 25: Aula 4   acessibilidade

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

Page 26: Aula 4   acessibilidade

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

Page 27: Aula 4   acessibilidade

Exercício 2

Terrestre – possíveis atributos

Número de eixos

Tração

Quantidade de portas

Tipo

Quilometragem (Km)

Page 28: Aula 4   acessibilidade

Exercício 2

Terrestre – possíveis métodos

Atribuir

Mostrar

Page 29: Aula 4   acessibilidade

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

Page 30: Aula 4   acessibilidade

Exercício 2

Aéreo – possíveis métodos

Atribuir

Mostrar

Page 31: Aula 4   acessibilidade

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

Page 32: Aula 4   acessibilidade

Exercício 2

Aquático – possíveis métodos

Atribuir_

Mostrar