Cours 2 - Classes et objets
Dans le cours précédent, nous avons vu qu'un programme est exécuté à partir d'une classe. En fait, une application Java est constituée d'un ensemble de classes! Ces classes modélisent des objets qui, lors de l'exécution, interagiront ensemble tout dépendemment de leurs attributs et méthodes.
Tout d'abord, commençons par définir et différencier ces termes.
Définitions
| Classe: | Une classe définit les attributs et les méthodes d'un objet (tout comme un plan de maison définit sa structure) | ![]() |
| Objet: | Un objet est l'instanciation d'une classe (tout comme une maison est érigée à partir de ses plans) | ![]() |
| Attributs: | propriétés, parties, membres, composants d'un objet | |
| Méthodes: | services, fonctions |
Exemple de classe en Java
Passez la souris au-dessus de la classe pour voir les différentes parties d'une classe.
public class Maison {
private Porte porte;
private Fenetre fenetre;
public Maison() {
porte = new Porte();
fenetre = new Fenetre();
}
public void ouvrirPorte() {
porte.ouvrir();
}
public void ouvrirFenetre() {
fenetre.ouvrir();
}
}
Dans cet exemple, les classes Fenetre et Porte possèdent donc la méthode ouvrir():
public class Porte {
public void ouvrir() {
System.out.println("La porte s'ouvre...");
}
}
public class Fenetre {
public void ouvrir() {
System.out.println("La fenêtre s'ouvre...");
}
}
Mise en situation... Luc désire construire 4 maisons, ouvrir la porte de la première et ouvrir la fenêtre de la deuxième. Voici le programme qui représente les activités de Luc. Il faut noter que le programme est inséré dans la méthode main()!
public class Luc {
public static void main(String[] args) {
Maison bungalow = new Maison();
Maison condo = new Maison();
Maison chalet = new Maison();
Maison duplex = new Maison();
bungalow.ouvrirPorte();
condo.ouvrirFenetre();
}
}
Quel est le résultat lors de l'exécution du programme? Il est possible de l'essayer dans l'environnement d'eclipse! Le code source de cette application est disponible ici. Pourquoi ne pas l'essayer à titre d'exercice!
En résumé
- Une classe définit les attributs et les méthodes.
- Les objets sont instanciés à partir des classes.
- Une application est composée d'une série de classes, et lors de l'exécution d'un programme, des objets sont instanciés afin de satisfaire une tâche.

