Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1710 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] appel d'une méthode de classe mère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] appel d'une méthode de classe mère

n°1330888
gaille
Posté le 23-03-2006 à 11:27:41  profilanswer
 

Bonjour,
 
Ca fait quelques jours que je fais du C#, et j'ai une petite question à la con.
Soit la classe A, la classe B qui hérite de A, et la classe C qui hérite de B.
Dans ces 3 classe, j'ai une méthode void toto().
 
Dans l'implémentation de la méthode toto() dans la classe C, je veux appeler la méthode de la classe B:
je fais donc un base.toto();
 
Comment être sûr que j'appele bien la méthode de la classe B, et pas celle de la classe A ???
En C++ je peux filer le nom de classe ClasseB::toto(), mais en C#, je ne sais pas faire l'équivalent de cela...

mood
Publicité
Posté le 23-03-2006 à 11:27:41  profilanswer
 

n°1332733
couitchy
Posté le 27-03-2006 à 10:37:52  profilanswer
 

gaille a écrit :

Bonjour,
 
Ca fait quelques jours que je fais du C#, et j'ai une petite question à la con.
Soit la classe A, la classe B qui hérite de A, et la classe C qui hérite de B.
Dans ces 3 classe, j'ai une méthode void toto().
 
Dans l'implémentation de la méthode toto() dans la classe C, je veux appeler la méthode de la classe B:
je fais donc un base.toto();
 
Comment être sûr que j'appele bien la méthode de la classe B, et pas celle de la classe A ???
En C++ je peux filer le nom de classe ClasseB::toto(), mais en C#, je ne sais pas faire l'équivalent de cela...


 
intuitivement on pourrait se dire qu'il faudrait faire un base.base.toto(), ce qui n'est pas autorisé.
en fait par construction du langage, on ne peut accéder qu'à la classe immédiatement parente.

n°1332739
Berceker U​nited
PSN : berceker_united
Posté le 27-03-2006 à 10:43:10  profilanswer
 

Je débute aussi en c# mais il me semble que la classe C prend la methode la plus proche car dans ce cas la classe B à une surcharge de la classe A du moin je crois que cela s'appelle du polymorphisme.
 
A vérifier par quelqu'un de plus avancer que moin. :/
 
Si tu veux utiliser une methode dans la classe A et qui est presente dans la classe B j'utiliserais une technique de chacal :/ qui consiste à créer une methode dans la classe B qui appelle la methode dans la classe A.  [:ciler]


Message édité par Berceker United le 27-03-2006 à 10:44:52
n°1333562
lordofthes​ith
Join me . . .
Posté le 28-03-2006 à 13:10:13  profilanswer
 

gaille a écrit :

Bonjour,
 
Ca fait quelques jours que je fais du C#, et j'ai une petite question à la con.
Soit la classe A, la classe B qui hérite de A, et la classe C qui hérite de B.
Dans ces 3 classe, j'ai une méthode void toto().
 
Dans l'implémentation de la méthode toto() dans la classe C, je veux appeler la méthode de la classe B:
je fais donc un base.toto();
 
Comment être sûr que j'appele bien la méthode de la classe B, et pas celle de la classe A ???
En C++ je peux filer le nom de classe ClasseB::toto(), mais en C#, je ne sais pas faire l'équivalent de cela...


 
Implémentez tel quel ca marchera forcément car chacune de tes fonctions Toto() masquera la fonction de la classe mère : en résumé jamais tu n'auras accès aux fonctions des classes mères sans appel explicite de la classe mère avec base et ceci uniquement pour la première classe fille !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] appel d'une méthode de classe mère

 

Sujets relatifs
Créer une méthode qui renvoie un vector à deux dimensions.classe de connexion SGBD mysql en dll (.so) sous linux
Javascript : Mozilla et méthode click()Méthode pour écrire dans un fichier ofstream
[resolu]appel d une sub depuis un autre classeurAS2.0 : Classe menu, votre avis ?
Appelle d'une fonction via XML dans une classeAppel de fonction JS
[Debutant] Heritage et appel de fonctionproblème avec la méthode post d'un formulaire
Plus de sujets relatifs à : [C#] appel d'une méthode de classe mère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR