Re: [java-list] Re:[java-list] Interfaces e Abstract Class

2002-09-05 Por tôpico rodrigo moura
Como pode simular hereditariedade multipla usandoInterfaces?


 rodrigooliveiraf [EMAIL PROTECTED] escreveu: 
A principal utilidade é a reutilização de código atravésdo conceito de herança fornecido por java. A diferença éque, em java, não há herança multipla, então uma classepode "herdar"(extends) o código apenas uma outra classe,enquanto pode "implementar"(implements) o código devárias outras interfaces. Classes abstratas são aquelasque possuem métodos abstratos, ou seja, métodos que sãodefinidos mas não são implementados dento da Abstractclass, porém devem ser implementados em todas as classesque "herdam" o código de uma Abstract class.Espero ter ajudado.Rodrigo Oliveira Furtado__AcessoBOL, só R$ 9,90! O menor preço do mercado!Assine já! http://www.bol.com.br/acessobol-- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SPdúvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED]-
Yahoo! PageBuilder - O super editor para criação de sites: é grátis, fácil e rápido.

Re: [java-list] Re:[java-list] Interfaces e Abstract Class

2002-09-05 Por tôpico Marcelo Lopes da Silva

Rodrigo,

 Vamos supor que tenho uma inteface chamada ObjetoVoador e outra chamada Animal 
(Está vendo onde 
quero chegar?). Na Interface objetoVoador tenho os métodos decolar(); pousar(); e 
voar(); já na interface 
Animal tenho os métodos nascer(); comer(); seReproduzir(); etc... Um avião é um objeto 
que voa logo pode 
implementar a interface ObjetoVoador, um cavalo é um animal e logo pode implementar a 
interface Animal... já 
uma águia é tento um animal como um objeto voador, logo pode implementar as duas 
interfaces. Não é herança 
múltipla verdadeiramente falando pq na herança múltipla eu poderia herdar de duas 
classes diferentes com o 
mesmo método (assinatura) e com códigos diferentes e  estaria utilizando um 
comportamento errado no meu 
objeto filho. Já na interface como é a classe que a implementa que tem que codificar o 
método eu não corro este 
risco.

Espero ter ajudado,

Abraços,

Marcelo Lopes


On Thu, 5 Sep 2002 08:43:56 -0300 (ART), rodrigo moura [EMAIL PROTECTED] 
escreveu :

 De: rodrigo moura [EMAIL PROTECTED]
 Data: Thu, 5 Sep 2002 08:43:56 -0300 (ART)
 Para: [EMAIL PROTECTED]
 Assunto: Re: [java-list] Re:[java-list] Interfaces e Abstract Class
 
 
 
 Como pode simular hereditariedade multipla usando Interfaces? 
  
  
   rodrigooliveiraf [EMAIL PROTECTED] escreveu: A principal utilidade é a 
reutilização de código através
 do conceito de herança fornecido por java. A diferença é
 que, em java, não há herança multipla, então uma classe
 pode herdar(extends) o código apenas uma outra classe,
 enquanto pode implementar(implements) o código de
 várias outras interfaces. Classes abstratas são aquelas
 que possuem métodos abstratos, ou seja, métodos que são
 definidos mas não são implementados dento da Abstract
 class, porém devem ser implementados em todas as classes
 que herdam o código de uma Abstract class.
 
 Espero ter ajudado.
 
 Rodrigo Oliveira Furtado
 
 
 
 __
 AcessoBOL, só R$ 9,90! O menor preço do mercado!
 Assine já! http://www.bol.com.br/acessobol
 
 
 
 -- LISTA SOUJAVA 
 http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
 dúvidas mais comuns: http://www.soujava.org.br/faq.htm
 regras da lista: http://www.soujava.org.br/regras.htm
 historico: http://www.mail-archive.com/java-list%40soujava.org.br
 para sair da lista: envie email para [EMAIL PROTECTED]
 -
 
 
 -
 Yahoo! PageBuilder - O super editor para criação de sites: é grátis, fácil e rápido.
 

_
Marcelo Lopes
Gerente de Projetos
SDC - Solution Development Consulting
5521-91247084


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-




Re: [java-list] Interfaces e Abstract Class

2002-09-05 Por tôpico Jose Carlos



Entendi, mas qual a vantagem de uma interface em 
algo como um JavaBean? Para fazer umbomcomponente 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 
  
  To: [EMAIL PROTECTED] 
  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 ...
  
  
  publicclass CalculaTaxaImpl1 implements 
  CalculaTaxa {
   public double calcula(double) 
  {
   return double + 1 
  ;
   }
  }
  
  
  publicclass 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 CalculaTaxacreateCalculaTaxa() 
  {
   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 qdotodas 
  asimplementacoes 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 AMTo: [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


Re: [java-list] Re:[java-list] Interfaces e Abstract Class

2002-09-05 Por tôpico Daniel Destro do Carmo
public interface ITeste1 { public void doIt( );}
public interface ITeste2 { public int doThat( );}
public class Teste implements ITest21, ITeste2 {
 public void doIt( ) { /*do something*/ }
 public int doThat() { return 0; }
}
rodrigo moura <[EMAIL PROTECTED]>wrote:

Como pode simular hereditariedade multipla usandoInterfaces? 
--Daniel Destro do Carmo - http://www.geocities.com/danieldestro/Sun Certified Programmer for the Java 2 PlatformMotorway Veículos - http://www.motorway.com.brGrupo de Usuários Java - http://www.guj.com.br
Yahoo! PageBuilder - O super editor para criação de sites: é grátis, fácil e rápido.

[java-list] Re:[java-list] Interfaces e Abstract Class

2002-09-04 Por tôpico rodrigooliveiraf

A principal utilidade é a reutilização de código através
do conceito de herança fornecido por java. A diferença é
que, em java, não há herança multipla, então uma classe
pode herdar(extends) o código apenas uma outra classe,
enquanto pode implementar(implements) o código de
várias outras interfaces. Classes abstratas são aquelas
que possuem métodos abstratos, ou seja, métodos que são
definidos mas não são implementados dento da Abstract
class, porém devem ser implementados em todas as classes
que herdam o código de uma Abstract class.

Espero ter ajudado.

Rodrigo Oliveira Furtado



__
AcessoBOL, só R$ 9,90! O menor preço do mercado!
Assine já! http://www.bol.com.br/acessobol



-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-




RE: [java-list] Interfaces e Abstract Class

2002-09-04 Por tôpico Hooter



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 ...


publicclass CalculaTaxaImpl1 implements 
CalculaTaxa {
 
public double calcula(double) {
 return double + 1 
;
 }
}


publicclass 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 CalculaTaxacreateCalculaTaxa() {
 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 qdotodas asimplementacoes 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 AMTo: [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


[java-list] Interfaces e Abstract Class

2002-09-03 Por tôpico Jose Carlos



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