Bonjour,
Je ne suis qu'un pauvre programmeur de niveau intermédiaire et je me pose la question suivante :
Il me semble qu'il n'est pas possible de faire en sorte qu'une surcharge fasse appel à la méthode de base AUTOMATIQUEMENT.
Je m'explique. Soit le code suivant :
Avec ce code, si j'appelle Fille.methode(), le traitement spécifique est exécuté mais pas le traitement de base car la surcharge remplace complètement Mere.methode().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class Mere { public virtual void methode() { // Traitement de base } } public class Fille : Mere { public override void methode(){ // Traitement spécifique } }
Bien entendu, je peux écrire :
Ainsi, le traitement de base sera bien exécuté. Mais si l'utilisateur de ma classe Fille OUBLIE l'appel à base()...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class Fille : Mere { public override void methode(){ // Traitement spécifique base.methode(); } }
D'où mon interrogation : est-il possible de mettre en place un système tel que l'utilisateur n'ait pas à se poser de question; que l'appel à base soit systématique et transparent...
Partager