[Tutorial] Hierarquia de Classes em Java

De Tiago Gonçalves @TiagoTweeta
às 06:29:11 d 16/05/2014

[Tutorial] Hierarquia de Classes em Java

Java

 

Neste artigo será explicado muito resumidamente como funciona a Hierarquia de Classes em java.

É assumido que o leitor têm conhecimentos básicos sobre java, ou seja o que são classes, construtores, etc…

 

Classes Superiores

Classes que definem métodos genéricos param serem usados em mais do que uma classe final.

Estas classes servem para estruturar o código para que certos tipos de objetos possam ser chamados em diferentes situações.

Por exemplo, um carro contem embraiagem e motor (entre outras coisas), logo podemos dizer que as rodas e o motor pertencem as peças do carro.

Em java, poderíamos ter uma interface ou classe abstrata chamada de peças do carro, e implementar os métodos do motor e embraiagem, herdando métodos gerais definidos pelas peças do carro em si.

Ou seja, rodas e motor são objetos do tipo “peças do carro”, e como tal os métodos em comum destes objetos, podem ser acedidos genericamente.

 

Classe abstrata

Contem métodos por implementar (métodos abstratos), mas pode conter métodos definidos.

Pode ser estendida, e a extensão pode definir a classe abstrata (Sendo possível chamar a classe estendida)

Class abstract PeçasDoCarro{

String getNome(); //Método por definir

String getDataDeFabrico(){ //Método definido

                return “18/03/2014”;

}

String getDataDeRegisto(){ //Método definido

                return “16/05/2014”;

}

 

}

 

Classe Interface

Contem métodos por implementar (métodos abstratos), mas não pode ter nenhum método implementado.

Ex:

interface PeçasDoCarro {

                String getNome(); //Método por definir

}

 

Classes Finais (de herança)

Classes prontas a serem chamadas e usadas para operações.

 

 

Classe Estendida

                Contem todos os métodos da classe original, mas permite adicionar ou reatribuir métodos da classe abstrata.

                Ex: Embrearem estende PeçasDoCarro que contem o método “abstrato “getNome()”  e redefine o método “getDataDeRegisto()” para uma nova data, mantendo o acesso ao “getDataDeFabrico()” sem o alterar ou mencionar.

 

Class Embraiagem extends PeçasDoCarro{

                Public String getNome(){

return “6-Speed”;

}

String getDataDeRegisto(){ //Método redefinido

                return “20/05/2014”;

}

 

}

 

 

Notas:

Se for necessário obter um método da classe original, é usada a terminologia super

Ex:

                Super.getDataDeRegisto (); //Chama o método do PeçasDoCarro e devolve o seu valor inicial.

Atenção, isto apenas funciona caso as classes não sejam privadas! Apenas métodos públicos e protected podem ser acedidos desta forma.

 

Classe de Implementação

                Contem toda a implementação definida pela interface.

                Uma classe de implementação pode implementar mais do que uma interface.

 

Ex:

Class Motor implements PeçasDoCarro{

                Public String getNome(){

                return “V8”;

}

}

 

 

E isto foi a minha explicação resumida de como funciona a hierarquia de classes em java, qualquer dúvida, ou falha minha na explicação, não hesitem em comentar.

Espero que seja útil para quem gostava de perceber um pouco mais sobre a hierarquia de objetos, ou para quem (como eu) já não se lembrava muito bem de como isto funciona. 

Categoria: Programação
Comentários: (1)

Comentários

Soul Mates.. not to sound harsh or unromantic but that idea itself is fucking stupid. It plays to this idea of &8022;fate&8221;, if you want to believe in &8220;fate&8221; fine then you can believe in soul mates but I don&8217;t tend to think my life has been preordained for me.

Jody às 04:14:01 de 13-07-2016


Enviar Comentário


Os comentários poderão ser moderados caso seja necessário.
Voltar ao Topo
Blog brevemente disponível na plataforma:

Log-In

Utilizador:
Palavra-passe:
Manter o login:

Webmaster

Tiago Gonçalves
Engenheiro e Técnico de Informática, com um grande interesse nas áreas de Web, Mobile, Design & Fotografia.
Ver o meu perfil completo
Contactar