Si j'ai une sous-classe qui a des méthodes que j'ai substituées à la classe parent, et dans des situations très spécifiques que je veux utiliser les méthodes originales, comment puis-je appeler ces méthodes?Comment appeler une méthode de classe parent substituée à partir d'une classe enfant?
Répondre
appel super
class A {
int foo() { return 2; }
}
class B extends A {
boolean someCondition;
public B(boolean b) { someCondition = b; }
int foo() {
if(someCondition) return super.foo();
return 3;
}
}
ne devrait pas utiliser la méthode foo() dans la classe A être statique afin que vous puissiez l'appeler comme: super.foo()? –
@Eng Nope! statique signifie quelque chose de très différent. – corsiKa
C'est ce que super
est pour. Si vous substituez la méthode method
, vous pouvez le mettre en œuvre comme ceci:
protected void method() {
if (special_conditions()) {
super.method();
} else {
// do your thing
}
}
Vous pouvez généralement utiliser le mot-clé super
pour accéder la fonction de la classe parente. par exemple: [? En Java, comment j'appelle la méthode d'une classe de base de la méthode redéfinie dans une classe dérivée]
public class Subclass extends Superclass {
public void printMethod() { //overrides printMethod in Superclass
super.printMethod();
System.out.println("Printed in Subclass");
}
public static void main(String[] args) {
Subclass s = new Subclass();
s.printMethod();
}
}
Taken de http://download.oracle.com/javase/tutorial/java/IandI/super.html
- 1. La classe enfant appelle une méthode de la classe parent
- 2. Appel d'une méthode parent à partir d'une classe enfant
- 3. Comment appeler une fonction dans super classe, qui est déjà substituée dans la classe enfant, en utilisant l'objet de classe enfant dans l'objectif C?
- 4. Comment appeler une méthode non statique de la classe parent de la classe statique de la classe enfant en PHP
- 5. Appel d'une méthode statique substituée du parent
- 6. C++ comment appeler une méthode de classe parente à partir d'une classe contenue?
- 7. Appeler une méthode de la classe parente
- 8. Comment appeler une méthode à partir d'une instance d'une classe?
- 9. Comment appeler une méthode à partir d'une autre classe
- 10. Comment puis-je appeler une méthode parent à partir de la classe instanciante?
- 11. Comment appeler une méthode dans une classe d'une autre classe
- 12. Classe parent d'accès de la classe enfant
- 13. Accéder à une classe enfant d'une autre classe enfant dans la classe parent
- 14. Comment accéder à la méthode dans Parent à partir de la classe enfant
- 15. Implémenter une hiérarchie de classe parent-enfant
- 16. Comment appeler une méthode de classe dérivée à partir de la classe de base?
- 17. Accéder à l'attribut d'instance de classe parent à partir de l'instance de classe enfant?
- 18. classe enfant parent StackOverflowError exception
- 19. Ruby - Appeler une méthode à partir d'un objet enfant
- 20. JAVA: Comment appeler une méthode dans une classe enfant d'un objet?
- 21. Appeler une méthode de classe dans une classe
- 22. Appel de la méthode de classe enfant à partir de la classe de base en Perl
- 23. Comment appeler une méthode d'une classe différente?
- 24. Comment appeler l'implémentation de base d'une méthode virtuelle substituée?
- 25. Comment appeler une méthode d'une classe?
- 26. Comment faire référence à une classe enfant à partir d'une méthode parente?
- 27. Méthode d'appel de la classe parent
- 28. Classe enfant Classe remplaçant la fonction virtuelle d'une classe parent
- 29. Comment transtyper la classe parent en classe enfant en javascript
- 30. type s'enregistrer méthode de classe enfant
double possible (http://stackoverflow.com/questions/268929/java-how-to-i-call-a-base-classs-method-from-the-overriding-method-in-a-deri) –