Bonjour à tous,

Je débute en Java et plus généralement en langage objet et je butte sur un problème. Je dois réaliser un programme de chauffage composé de 3 objets : un thermomètre, une chaudière et un thermostat.

J'ai commencé par définir le rôle de chacun de ces objets, à savoir :

Le thermomètre :
- possède une valeur d'état en °C
- sa valeur peut être consultée
- sa valeur peut être mise à jour

La chaudière :
- possède une valeur d'état (allumée ou éteinte)
- sa valeur peut être modifiée

Le thermostat :
- possède une tranche de température d'allumage
- possède une référence vers le thermomètre qu'il peut consulter
- possède une référence vers la chaudière qu'il peut piloter

J'ai ensuite créé les trois fichiers .java pour les trois classes liées à ces objets avec les procédures associées à chacun de ses comportements.

Pour finir j'ai créé un programme principal Launcher.java qui montre la répercussion d'un changement de température à travers ces trois objets. Dans ce fichier, je créé donc une instance de chaque objet dont un thermomètre que j'initialise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Thermometre thermometre=new Thermometre();
thermometre.modifierTemperature(5);
Le programme principal demande au thermostat de consulter la température de ce thermomètre pour agir en fonction sur la chaudière également créée dans le programme principal. J'en viens à mon problème : lorsque je souhaite utiliser un objet dans une autre classe que celle qui l'a créé, celle-ci ne peut pas résoudre l'objet. Typiquement, lorsque j'appelle une procédure de la classe Thermostat qui consiste à consulter le thermometre, ça ne marche pas.

Mon code Laucher.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
package Chauffage;
 
public class Launcher {
	public static void main(String[] args) {
		Thermometre thermometre=new Thermometre();
		Chaudiere chaudiere=new Chaudiere();
		thermometre.modifierTemperature(5);
}
}
Mon code Thermostat.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
package Chauffage;
 
public class Thermostat {
	private boolean etat;
	temperature=thermometre.temperatureCelcius();	
}
Mon code Thermometre.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
package Chauffage;
 
public class Thermometre {
    private double temperatureMesuree;
 
    public double temperatureCelcius() {
        return this.temperatureMesuree;
    }
 
}
Le code n'est bien sûr pas complet. Pouvez-vous me dire ce qui ne va pas s'il vous plait ? Merci