Entendi, mas qual a vantagem de uma interface em algo como um JavaBean? Para fazer um bom componente necessito também de uma interface? Entendi que para uma classe implementar uma interface deve anular um dos métodos definidos na interface, isso ajuda na questão da herança múltipla?
 
[]'s
Sparc
----- Original Message -----
From: Hooter
Sent: Monday, September 02, 2002 11:45 PM
Subject: RE: [java-list] Interfaces e Abstract Class

Fala Jose ...
Vou tentar explicar ...
Um interface serve para vc nao criar dependencia de uma implementacao apenas da interface ...
O q isso quer realmente dizer, humm ... por exemplo ...
 
public interface CalculaTaxa {
  public double calcula(double) ;
}
 
Vc criou uma interface, o q vc asegurou para o programa q vai usar ??? Q ele tem um objeto para trabalhar, q passando um double ele retorna outro, mas nao disse o q o objeto tera q fazer com esse double ...
 
Ai vc cria duas implementacoes ...
 
public class CalculaTaxaImpl1 implements CalculaTaxa {
  public double calcula(double) {
     return double + 1 ;
   }
}
 
public class CalculaTaxaImpl2 implements CalculaTaxa {
  public double calcula(double) {
    return double + 2 ;
  }
}
 
O programa clint nao sabera qual implementacao ele estara usando, pq ele soh se preocupa com a interface ...
 
Entao para ficar vc vc pode criar um factory ...
 
public class CalculaTaxaFactory {
  private static CalculaTaxaFactory instance ;
 
  // singleton nao tem necessidade de expor seu construtor ..
  private CalculaTaxaFactory() { 
  }
 
  public static synchronized CalculaTaxaFactory getInstance() {
     if (this.instance == null) {
       instance = new CalculaTaxaFactory() ;
     }
     return instance ;
  }
 
  public CalculaTaxa createCalculaTaxa() {
    try {
      return (CalculaTaxa) Class.forName(System.getProperty("calculaTaxaClass")).newInstance() ;
    } catch (Exception e) { }
  } 
}
 
public class Cliente {
  ///
  public static void main(String[] argvs) {
    CalculaTaxa ct = CalculaTaxaFactory.getInstance().createCalculaTaxa() ;
    System.out.println("resultado:" + ct.calcula(10.0)) ;
  }
}
 
Eh soh setar a implementacao no property q atravez de reflexao o factory cria a instancia da implementacao ... Acho q esse codigo deve funcionar se nao comi bola na digitacao ...
 
Agora classe abstrata eh qdo todas as implementacoes vai precisar de alguns metodos prontos ... Geralmente utilizadas em frameworks, q a implementacao tem q ter alguns comportamentos mais especificos ...
 
...
 
[]s
-----Original Message-----
From: Jose Carlos [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, September 03, 2002 11:27 AM
To: [EMAIL PROTECTED]
Subject: [java-list] Interfaces e Abstract Class

Olá Javaneses,
 
        Tenho uma curiosidade básica: qual a finalidade de interfaces e Abstract classes? De que forma eu as utilizo e em que situações são mais adequadas para sua utilização?
 
[]'s
Sparc

Responder a