Você está na página 1de 11

B1LP2 Linguagem de Programao Java 2

Prof. Dr. Domingos Bernardo Gomes Santos


Ementa

Herana entre objetos java;


Comparando objetos atravs da sobreescrita
do mtodo equals;
Implementao do mtodo hashcode
Clonagem de objetos atravs da sobreescrita
do mtodo clone;
Objetos imutveis
Clonagem rasa;
Clonagem profunda;;
Java API Object
Herana entre Objetos Java

Emprego da palavra chave extends;


Implementao da relao de herana entre as
classes Pessoa e Aluno;
Utilizao da palavra-chave super;
Observar o funcionamento da herana atravs
da classe TesteHeranca.
Comparando Objetos

Mtodo equals para comparao entre objetos;


Implementao da classe Carro;
Implementao do mtodo equals
considerando a relao de herana entre as
classes Aluno e Pessoa;
Observar a operao do mtodo equals
atravs da classe TesteEquals.
Comparando Objetos

Simetria: para duas instncias, a e b,


a.equals(b) se e somente se b.equals(a);
Reflexividade: para todas referncias no
nulas, a.equals(a);
Transitividade: se a.equals(b) e b.equals(c),
ento a.equals(c);
Consistncia com hashcode(): dois objetos
iguais precisam ter o mesmo hashcode();
Implementao do Mtodo hashcode

Implementao do mtodo hashcode atravs


da classe Usuario;
Observar a impresso do hashcode atravs da
classe TesteHashcode;
Observar o funcionamento do mtodo
hashcode com a utilizao de colees de
objetos atravs da classe Aviao e
TesteHashcode2;
Clonagem de Objetos

Mtodo clone para clonagem de objetos;


Clonagem rasa com a implementao da
classe Carro;
Clonagem profunda com a implementao da
classe Funcionario;
Observar a operao do mtodo clone atravs
da classe TesteClone.
Clonagem de Objetos

Implementar a interface Cloneable;


Incluir na sobre escrita do mtodo clone()
suporte a exceptions.
Objetos Imutveis

Objetos imutveis so objetos que, uma vez


instanciados, no podem ter seus estados
internos modificados;
A Java API apresenta diversas classes que so
imutveis, como a classe String e as classes
Wrappers (Integer, Double, etc);
A utilizao deste recurso simplifica a
codificao e a execuo dos aplicativos Java.
Objetos Imutveis

So de simples construo, teste e utilizao;


So automaticamente "thread-safe" e no possuem
problemas de sincronizao;
Possibilitam seu uso em caches de objetos por
utilizar hashCode;
No necessitam serem copiados de forma
defensiva quando utilizados como atributos em
outros objetos (String, Integer, etc);
So perfeitos para utilizar como ndices em Maps e
elementos de um Set por no mudar de estado
enquanto esto atribudos a uma coleo;