J'ai un petit problème avec l'héritage en java. Je prefère la pratique donc voilà un exemple.
classe mère principale
classe héritant de la classe mère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Modele extends JFrame { protected ArrayList quitListeners; public void addQuitListener(QuitListener listener) { quitListeners.add(listener); } public void removeQuitListener(QuitListener listener) { quitListeners.remove(listener); } }
classe héritant de la deuxième classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public class HeritModele extends Modele { }
classe où se trouve le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class ViewSaisieReglement{ private HeritModele parent; public View (HeritModele parent) { this.parent = parent; this.parent.addQuitListener(this); } }
erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class TestReg extends HeritModele { public static void main(String[] args) { new TestReg(); } public TestReg() { setTitle("Window"); setVisible(true); buildNewSalePane(); } private void buildNewSalePane() { ViewSaisieReglement sale = new ViewSaisieReglement(this); switchManager(sale.buildPanel()); } }
C:\Java\ViewSaisieReglement.java:81: cannot resolve symbol
symbol : method addQuitListener (ViewSaisieReglement)
location: HeritModele
this.parent.addQuitListener(this);
^
Je ne comprends pas pourquoi la méthode addQuitListener de Modele n'est pas vu dans HeritModele
Partager