Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro
Relao entre objetos
Agregao Composio Associao
Herana
Reuso de uma classe
Tudo que foi definido para uma classe vai ser aproveitado em outra classe
Representa Especializao
Um tipo mais genrico cujas caractersticas sero herdadas por outras classes Comportamento pode ser herdado e/ou modificado
Exemplo
B herda de A B subtipo de A B subclasse de A Todos os atributos e mtodos definidos em A tambm existem em B
Cont...
Cont...
Cont...
Subtipos
Uma classe que herda de outra chamada de subtipo
Herana representa relacionamento um
Carro um veculo Livro um publicao Cachorro um mamfero
Podemos ter uma varivel do tipo classeA referenciando uma objeto do tipo classeB
Visibilidade
public
Membros acessveis por qualquer classes
protected
Membros acessveis por classe e subclasses
private
Membros acessveis por apenas objetos da prpria classe
Default(pacote)
Membros acessveis por classes do mesmo pacote e subclasses
Sobrescrita
Redefinio de mtodo na subclasse
Sobrecrever o mtodo Mudar comportamento definido na superclasse
Cont...
Chamada de mtodo da superClasse
super.metodo();
Classes e Objetos
Tudo herda de object Define Alguns mtodos
public string toString(); public boolean equals(); ...
instanceof
Operador
Determina se um objeto obj de uma classe Classe
Retorna valor lgico Sintaxe: obj instanceof Classe
Construtores
Toda classe Java tem pelo menos um construtor, se no for definido, existir um padro sem parmetro
Public NomeClasse(){}
Cont...
O cdigo
Polimorfismo
Muda comportamento
Mtodo executado depende da classe do objeto Mesma chamada executa mtodos diferentes
Obj.metodo();
Vai executar o mtodo que foi definido para a classe do objeto referenciado por obj
Permite executar mtodos de subclasses mesmo sem conhec-las Usado junto com sobrescrita
Cont...
Ter
Classes Abstratas
No podem ser instanciadas
Usadas com herana
Definir superclasse com caractersticas e comportamento comuns e cada subclasse implementa suas especificidades No existem animais da classe mamfero, apenas de suas subClasses
Cont..
Mtodos tambm podem ser abstratos
No possuem implementao Devem ser implementados pelas subclasses
Ou estas tambm sero abstratas
Se uma classe possuir pelo menos um mtodos abstrato, ela deve ser abstrata Classes abstratas podem ter mtodos implementados
Classe final
No podem ser herdadas
No possuem subclasses
Atividade
Defina duas classes de Contato
ContatoPessoa Fisica ContatoPessoaJuridica
Defina um mtodo para contar os contatos de cada tipo Faa a classe Contato abstrata Sobrescreva o mtodo toString Inclua uma opo de menu para mostrar todos os contatos
Acrescente os mtodos que achar necessrio
Cont...
Desafio
Crie uma classe ContaBancaria fazendo com que a mesma possa aceitar dois tipo de conta: Conta corrente e Conta poupana