Polymorphisme ?!

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 20 déc. 2005 à 17:21
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 22 déc. 2005 à 15:06
Bonjour a tous,

Je débute sous .net avec C# et j'aimerais avoir un peu plus d'explication sur le polymorphisme ! je connais la definition : polymorphisme se dit d'une classe qui peut prendre plusieurs formes !!!! est ce bien cela ?

J'aimerais avoir un peu plus d'infos ou un p'tti exemple de code afin de bien saisir ce que cela veut dire !!!!!

Je vous remercie

Christophe
un bouillonnais

4 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
21 déc. 2005 à 17:04
C'est simple mais pour comprendre les methodes virtuelles ( c'est elles qui sont polymorphes ) il faut comprendre ce que ne font PAS les methodes normales.

using System;


namespace ConsoleApplication
{
class Program
{
[ STAThread ]
private static void Main( )
{
Derive d = new Derive( );
Base b = ( Base )new Derive( ); // Derive est castée en Base.


d.Hello( );
b.Hello( ); // Le vrai type de l'objet n'est pas reconnu !!!


d.HelloVirtual( );
b.HelloVirtual( ); // La méthode a reconnue le vrai type de l'objet.


Console.ReadLine( ); // Wait.
}
}


public class Base
{
public void Hello( )
{
Console.WriteLine( "Hello de la classe Base." );
}

public virtual void HelloVirtual( )
{
Console.WriteLine( "Hello de la classe Base." );
}
}


public class Derive : Base
{
public new void Hello( )
{
Console.WriteLine( "Hello de la classe Derive." );
}


public override void HelloVirtual( )
{
Console.WriteLine( "Hello de la classe Derive." );
}
}
}
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
20 déc. 2005 à 18:18
Salut l'intérêt du polymorphisme c'est surtout les méthodes virtuelles, ça permet d'appeler les méthodes en fonction du vrai type de l'objet et non de la référence qui maintient l'objet.
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
21 déc. 2005 à 15:43
Salut salut Lutinor,

Merci pour ton post mais je reste toujours bloque ...je continue a avancer dans l'apprentissage de .Net mais ce n'est pas evident qd on ne bosse pas dans le domaine !J'ai du mal a piger ...ces phrases qui pour moi ne veulent rien dire :-( !

Si quelqu'un pouvait me definir ou me montrer un exemple simple du polymorphisme cela serait sympa !

Bonne fete de fin d'annee a tous ...

Christophe
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
22 déc. 2005 à 15:06
salut slaut Lutinore,

Je te remercie pour tes infos et ce code j'y vois un peu plus clair maintenant !

Merci et surtout bonne fete de fin d'annee...

Christophe
un bouillonnais
0
Rejoignez-nous