|
Ol� Richard,
As classes abstratas
s�o simplesmente para heran�a. Com elas voc� define m�todos, com ou sem
implementa��o, que v�o ser comum a um grupo de clases. Os m�todos que n�o t�m
implementa��o s�o declarados abstract e uma vez uma classe tendo um m�todo
abstrato, toda a classe tem que ser abstrata. Exemplo;
public abstract class JavaList
{
pubilc void
getUserCount(){
System.out.println("Exitem n usu�rios conectados.");
}
/*
Como n�o
tem implementa��o, esse m�todo tem que ser abstract, o que for�a a
declara��o
abstract tamb�m no nome da classe JavaList
*/
public
abstract String getUserName();
}
Em uma sub-classe:
public class UsuarioJavaList extends
JavaList {
public
UsuarioJavaList(){
getUserCount();
}
public
String getUserName(){
/*
Esse m�todo
� obrigado ser implementado pois foi declarado abstract na super-classe
JavaList, logo
as
sub-classes s�o obrigadas a dar uma implementa��o a ele ou ent�o passam a ser
abstract tamb�m
e t�m que
ter abstract na declara��o da classe.
Note que o
m�todo est� implementado retornando vazio.
*/
return
"";
}
public
static void main(String args[]){
UsuarioJavaList usrJList
= new UsuarioJavaList();
}
}
J� as interfaces s�o classes que
cont�m m�todos que devem ser implementados por todas as classes que usam essa
determinada interface. Ao contr�rio das classes abstratas, as interfaces n�o t�m
nenhum m�todo com implementa��o, eles s�o apenas declarados.
Exemplo:
public interface Pessoa
{
public void andar();
public String getNome();
}
E usando ela:
public class Richard implements
Pessoa {
/*
Como a classe Richard usa a interface
Pessoa, voc� tem que implementar todos os m�todos da interface.
*/
public void
andar(){
}
public
String getNome(){
return "Richard
Valdivia";
}
}
Diferente das classes abstratas, que
s�o base para heran�a logo s� pode ser usada uma por sub-classe (java n�o
permite heran�a m�ltipla), uma classe pode usar mais de uma interface. Por
exemplo;
public class MP3Player extends
JFrame implements Player, WindowListener, ActionListener {
}
Em resumo:
1)Classes abstratas s�o base para
heran�a e podem ou n�o ter m�todos implementados, mas uma vez um m�todo sendo
abstract, ou seja, n�o tendo implementa��o, toda a classe �
abstract;
2)Interfaces s�o classes para
determinar comportamentos de classes, cont�m m�todos que devem ser implementados
por toda classe que usa a interface.
Exitem um tipo de classe especial
denomiados Adaptadores que facilitam na hora de utilizar interfaces. �
comum voc� ter que usar uma inteface mas voc� s� precisa de um m�todo
dela, nestes casos voc� usa um adaptador. Por exmplo:
WindowListener wl = new
WindowAdpater(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
Em uma classe do tipo Adaptador,
voc� tem os m�todos da interface que ela implementa j� implementados com
vazio e sobre-escreve somente o m�todo que te interessa poupando tempo de
desenvolvimento.
Espero que tenha
entendido.
Um abra�o,
Lincolm
----- Original Message -----
|
- [java-list] Interfaces e classes abstratas Richard Valdivia
- [java-list] compilador Vanessa Ribeiro
- RES: [java-list] compilador Giuliano de Aquino
- Re: [java-list] compilador Helder da Rocha
- Re: [java-list] Interfaces e classes abs... Luiz Carlos Bentes dos Anjos
- Lincolm Ferreira de Aguiar
