Aller au contenu principal
Publié le

Classes et Objets en Java

Partager :

Introduction

Java, étant un langage orienté objet, a ses fondations construites autour du concept de classes et d'objets. Dans cet article, nous explorerons ces concepts fondamentaux et comment ils s'interconnectent dans la construction d'applications robustes.

Que sont les Classes ?

Les classes en Java peuvent être considérées comme des modèles ou des blueprints pour créer des objets. Elles encapsulent les données de l'objet et les méthodes pour opérer sur ces données.

  • Attributs : Représentent les propriétés d'un objet. Par exemple, une voiture possède la couleur, la marque et le modèle comme attributs.
  • Méthodes : Représentent le comportement. En poursuivant avec l'exemple de la voiture, les méthodes pourraient être demarrer(), freiner() et accelerer().

Que sont les Objets ?

Un objet est une instance d'une classe. Lorsque nous créons un objet, nous créons essentiellement une instance de cette classe, dotée de son propre état et comportement.

Concepts Fondamentaux de la POO

  1. Encapsulation : Fait référence au regroupement des données (attributs) et des méthodes qui opèrent sur ces données dans une seule unité (c'est-à-dire une classe).
  2. Héritage : Permet à une classe d'hériter des attributs et des méthodes d'une autre classe. Cela favorise la réutilisation du code.
  3. Polymorphisme : Capacité d'un objet à prendre de nombreuses formes. Le polymorphisme en Java est obtenu grâce à la surcharge (overloading) et à la redéfinition (overriding) des méthodes.

Exemple Pratique

Considérons un exemple où nous avons une classe qui représente un « Ennemi » dans un jeu.

package com.caffeinealgorithm.programaremjava;

public class ClassesEtObjets {
  private int vies = 5;

  public void attaque() {
    System.out.println("J'ai été attaqué et j'ai perdu une vie.");
    vies -= 1;
  }

  public void verifierVie() {
    if (vies <= 0)
      System.out.println("Je suis mort car je n'ai plus de vies.");
    else
      System.out.printf("Je suis encore en combat et j'ai %d vies.\n", vies);
  }
}

Dans l'exemple ci-dessus, la classe ClassesEtObjets possède un attribut vies et deux méthodes, attaque() et verifierVie().

package com.caffeinealgorithm.programaremjava;

public class Main {
  public static void main(String[] args) {
    var ennemi1 = new ClassesEtObjets();
    var ennemi2 = new ClassesEtObjets();

    ennemi1.attaque(); // J'ai été attaqué et j'ai perdu une vie.
    ennemi1.attaque(); // J'ai été attaqué et j'ai perdu une vie.
    ennemi1.attaque(); // J'ai été attaqué et j'ai perdu une vie.
    ennemi1.verifierVie(); // Je suis encore en combat et j'ai 2 vies.
    ennemi2.verifierVie(); // Je suis encore en combat et j'ai 5 vies.
  }
}

Conclusion

Les classes et les objets sont les piliers du paradigme de programmation orientée objet en Java. Comprendre comment ils fonctionnent ensemble est essentiel pour écrire des programmes Java efficaces et évolutifs.

Happy coding!