Polimorfismo exemplo

Gostaria de saber em um sistema ERP em quais casos poderia utilizar o polimorfismo?
Por exemplo, para fazer a parte da inclusão de todos cadastros do sistema poderia lançar mão do polimorfismo?
Não sei se me fiz entender… gostaria de mais exemplos onde o polimorfismo poderia ajudar num sistema real.
Obrigado.

Um exemplo bastante comum do uso de poliformismo é utilizá-lo para tratar objetos de diferentes tipos de uma só maneira, levando em conta algumas características comuns.
Todas as características comuns devem ser atribuidas à classe base, enquanto catacterísticas/ comportamentos específicos devem ser implementados em classes que herdam da classe comum definida.

Existem várias aplicações, qualquer coisa OO usa o poliformismo (jogos, SW de controle de dados, SW de telecom, etc.)
Vou colocar um exemplo:

Suponha que voce queira tratar evento em um método como o descrito abaixo:

public void eventHandler(IEvent event )
{
event.test();//[MARCADOR 1]

}

Voce pode ver que o o metodo sempre chama o metodo .test() de “event”.
O poliformismo permite você implementar diferentes comportamentos, dependendo do tipo do evento que voce passa como parametro.

Se voce tiver, por exemplo:

class EventClassType1 implements IEvent
{
public void test()
{
System.out.println(“Comportamento 1”);
}
}

quando fizer:

EventClassType1 testObj = new EventClassType1;
eventHandler(testObj );

o método definido em //[MARCADOR 1] imprimirá “Comportamento 1”

Caso passe um objeto de outro tipo, por exemlo:

class EventClassType2 implements IEvent
{
public void test()
{
System.out.println(“Comportamento 2”);
}
}

A MESMA chamada fo metodo imprimira:

EventClassType2 testObj = new EventClassType2;
eventHandler(testObj );

o método definido em //[MARCADOR 1] imprimirá “Comportamento 2”

Espero ter ajudado!
Falow

[quote=ggero]Gostaria de saber em um sistema ERP em quais casos poderia utilizar o polimorfismo?
Por exemplo, para fazer a parte da inclusão de todos cadastros do sistema poderia lançar mão do polimorfismo?
Não sei se me fiz entender… gostaria de mais exemplos onde o polimorfismo poderia ajudar num sistema real.
Obrigado.[/quote]

Bom, pensando em um ERP, imagine um sistema que é utilizado por diversas empresas. Temos uma Classe que define diversos métodos super importantes para o sistema, esses métodos são utilizados por todas as empresas. Imagine se em algum determinado dia, somente uma empresa queira modificar um dos métodos da classe. Será que compensa ir lá e mexer em uma classe já finalizada? Crie subclasse para essa classe, e use polimorfismo para sobrepor este método…

Espero ter ajudado,