IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

mot clé virtual


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 38
    Par défaut mot clé virtual
    Bonjour,

    Question de debutant
    J'ai du mal a comprendre le mot clé virtual, je sais que c'est utilisé pour du polymorphisme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Class A
    {
       void virtual Afficher(){ console.WriteLine("A");}
       void Afficher1(){ console.WriteLine("A1");}
    }
     
    Class B : A
    {
       void virtual Afficher(){ console.WriteLine("B");}
       void Afficher1(){ console.WriteLine("B1");}
    }
     
    a.Afficher();
    a.Afficher1();
     
    b.Afficher();
    b.Afficher1();
    le resultat est t'il ?
    A
    A1
    A
    B1

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700

  3. #3
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Petite correction, sinon y a pas d'intérêt :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Class A
    {
       void virtual Afficher(){ console.WriteLine("A");}
       void Afficher1(){ console.WriteLine("A1");}
    }
     
    Class B : A
    {
       void override Afficher()  { console.WriteLine("B"); }
       void Afficher1(){ console.WriteLine("B1");}
    }

    Ensuite tout dépend de comment sont déclarées et instanciées tes instances !

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    A a1 = new A();
    A a2 = new B();
    B b = new B();

    Fais toi une petite appli console et teste, vaut mieux comprendre par soi-même, non ?

  4. #4
    Membre averti
    Inscrit en
    Octobre 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 38
    Par défaut
    merci a vous 2
    j'ai effectivement fait une petite appli console

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation du mot clé Virtual
    Par morgan2b dans le forum C#
    Réponses: 2
    Dernier message: 27/05/2011, 10h52
  2. Performance mot clé virtual
    Par oxyde356 dans le forum Langage
    Réponses: 36
    Dernier message: 09/02/2010, 14h07
  3. Propagation du mot clef virtual
    Par Lavock dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2010, 12h26
  4. problème avec le mot clé "virtual"
    Par Leole dans le forum C++
    Réponses: 6
    Dernier message: 02/11/2007, 11h51
  5. Mot clef virtual, classes filles
    Par NiamorH dans le forum C++
    Réponses: 6
    Dernier message: 13/10/2007, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo