A voir également:
- Question en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
2 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié par KX le 8/03/2014 à 15:30
Modifié par KX le 8/03/2014 à 15:30
De manière directe tu ne peux pas.
L'objet de la classe A n'a qu'une seule méthode affiche qui est celle de la classe A, celles de B et C sont "perdues" pour l'objet A.
Tu peux éventuellement faire référence dans A à une méthode de B via le mot clé super, mais ça ne fera référence à la méthode de C que si la méthode de B fait elle même référence à celle de C via un autre mot clé super.
Remarques :
- Tu ne peux pas passer de A à C sans passer par B.
- Tu n'es pas obligé de surcharger la méthode affiche dans B et A. Dans ce cas tu conserveras la méthode de C pour les objets de B et A.
L'objet de la classe A n'a qu'une seule méthode affiche qui est celle de la classe A, celles de B et C sont "perdues" pour l'objet A.
Tu peux éventuellement faire référence dans A à une méthode de B via le mot clé super, mais ça ne fera référence à la méthode de C que si la méthode de B fait elle même référence à celle de C via un autre mot clé super.
class C { public void affiche() { System.out.print("C"); } } class B extends C { @Override public void affiche() { super.affiche(); // méthode affiche de C System.out.print("B"); } } class A extends B { @Override public void affiche() { super.affiche(); // méthode affiche de B System.out.print("A"); } } public static void main(String[] args) { A a = new A(); a.affiche(); // CBA }
Remarques :
- Tu ne peux pas passer de A à C sans passer par B.
- Tu n'es pas obligé de surcharger la méthode affiche dans B et A. Dans ce cas tu conserveras la méthode de C pour les objets de B et A.
class C { public void affiche() { System.out.print("C"); } } class B extends C { } class A extends B { } public static void main(String[] args) { A a = new A(); a.affiche(); // C }La confiance n'exclut pas le contrôle