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 :

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
	}
}
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().

Bien entendu, je peux écrire :

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();
	}
}
Ainsi, le traitement de base sera bien exécuté. Mais si l'utilisateur de ma classe Fille OUBLIE l'appel à base()...

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...