opa, eu soh gostaria de complementar que o polimformisfo ilustrado por nosso colega 
Rosfran em relacao a sobrecarga de m�todos (mesmo identificador e mesmo conjunto de 
par�metros - na mesma classe) � chamado de _polimorfismo estatico_ que � capturado em 
tempo de compilacao, e o outro exemplo - que � a redefinicao completa do metodo numa 
situacao de heranca, � chamado _polimorfismo din�mico_ por ser capturado em tempo de 
execucao.

Imagine o seguinte:


// polimorfismo dinamico
class Carro{
        public void acelerar(){
         // codigo
        }
        // mais codigo
}

class CarroEsportivo extends Carro{
        public void acelerar(){
         // codigo
        }
        // mais codigo
}

class CarroCorrida extends Carro{
        public void acelerar(){
         // codigo
        }
        // mais codigo
}

public class MyCar{
        public static void main(String args[]){
                
                CarroEsportivo ce = new CarroEsportivo();
                CarroCorrida cc = new CarroCorrida();

                Carro car;

                //codigo de interacao com o usu�rio para ele escolher em tempo de 
execucao uma opcao

                if(opcao == 1)
                        car = ce;
                if(opcao == 2)  
                        car = ce;

                car.acelerar(); // sempre ser� esse metodo - ele se comportar� 
                                    //de forma diferente dependendo do que o usu�rio 
selecionar
                                
        }
} // fim do codigo da classe

eh isso, 
valeu,

Igor Medeiros


-----Original Message-----
From: Rosfran Lins Borges [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 13, 2002 2:11 PM
To: [EMAIL PROTECTED]
Subject: RES: [java-list] sobrescrita de m�todos



   De acordo com o texto, os termos 'hide' e 'override' s�o equivalentes.
Override equivale ao esquema de orienta��o a objetos denominado
polimorfismo, ou seja, um m�todo com a mesma assinatura (mesmo identificador
e mesmo conjunto de par�metros) de um outro, que se comporta de maneira
diferente, dependendo do contexto no qual ele � chamado. Um m�todo
polim�rfico (override) necessariamente redefine completamente um outro
m�todo, substituindo todo o corpo do m�todo anterior. J� a sobrecarga
(overloading=mesmos identificadores, lista de par�metros diferentes) tem uma
forma diferente de agir, porque ela pode aproveitar quaisquer das
implementa��es dadas anteriormente ao m�todo de mesmo nome. Portanto, quando
ele diz 'hide', significa mesmo ocultar a implementa��o anterior, atrav�s da
defini��o de uma implementa��o inteiramente nova.
    Por exemplo, os m�todos abaixo est�o sobrecarregados:
       public void imprimePonto( int x, int y ) {
                ..... 
                // implementa��o do m�todo imprimePonto
         }
        
       public void imprimePonto( Ponto p ) {
                imprimePonto( p.getX(), p.getY() );  // Aproveitamento da
implementa��o do m�todo anterior de mesmo nome
         }

    E os m�todos a seguir s�o polim�rficos (supondo que as classes Ponto e
Reta herdam ambas de Forma, que define o m�todo "mostra()"):
      
    Classe Ponto:
       public void mostra() {
                // Mostra ponto
         }

    Classe Reta:
       public void mostra() {
                // Mostra reta. N�o � poss�vel aproveitar a implementa��o
original do m�todo mostra(), porque uma refer�ncia a esse m�todo nesse
contexto seria entendida como uma chamada recursiva
         }

    Outra coisa: n�o � poss�vel fazer polimorfismo com um m�todo est�tico, a
n�o ser que esse novo m�todo seja est�tico tamb�m. No texto, os m�todos
est�ticos s�o chamados de 'class methods' (m�todos de classe), uma vez que
eles n�o est�o vinculados a uma inst�ncia dessa classe, e a sua chamada
inclui a refer�ncia ao nome da classe � qual ele pertence.


Rosfran Lins Borges
Analista de Sistemas - NDS
[EMAIL PROTECTED]
F�ton� Inform�tica e Servi�os
Fone: (61) 328 5060 R.: 204


-----Mensagem original-----
De: Marco Afonso [mailto:[EMAIL PROTECTED]] 
Enviada em: segunda-feira, 13 de maio de 2002 09:03
Para: SouJava
Assunto: [java-list] sobrescrita de m�todos

Pessoal,

estou lendo um tutorial para aprender Java e n�o estou 
entendendo muito bem um par�grafo sobre sobrescrita de 
m�todos.
o texto � o a seguir:

"...Also, a subclass cannot override methods that are 
declared static in the superclass. In other words, a 
subclass cannot override a class method. A subclass can 
hide a static method in the superclass by declaring a 
static method in the subclass with the same signature as 
the static method in the superclass. "

Qual a diferen�a entre 'override' e 'hide' no texto?
'Hide' � no sentido de escrever somente a assinatura e 
n�o implementar nada no m�todo? 

Obrigado pela for�a...


 
__________________________________________________________________________
Quer ter seu pr�prio endere�o na Internet?
Garanta j� o seu e ainda ganhe cinco e-mails personalizados.
Dom�niosBOL - http://dominios.bol.com.br



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

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

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

Responder a