Skip to content

Classes

// Classe principale contenant la méthode main
public class Main {
public static void main(String[] args) {
/*
* La méthode main est "static" car elle appartient à la classe Main
* et peut être exécutée par la JVM sans créer d'objet Main.
*/

        // --- Utilisation du constructeur vide ---
        Message message1 = new Message(); // texte = null au départ
        message1.setTexte("Hello, World! avec constructeur vide");
        message1.afficher();

        // --- Utilisation du constructeur avec paramètre ---
        Message message2 = new Message("Hello, World! avec constructeur paramétré");
        message2.afficher();
    }
}

// Classe Message qui représente un objet
class Message {
// Attribut privé
private String texte;

    /*
     * Constructeur vide (par défaut)
     * -> L'attribut texte n'est pas initialisé, il vaut null.
     */
    public Message() {
        // Rien de spécial
    }

    /*
     * Constructeur avec paramètre
     * -> Permet de créer un objet avec une valeur initiale pour texte.
     */
    public Message(String texte) {
        this.texte = texte; // "this.texte" = attribut, "texte" = paramètre
    }

    // Méthode d'affichage
    public void afficher() {
        /*
         * Ici, on utilise getTexte() pour respecter l'encapsulation
         * (accès indirect à l'attribut texte).
         */
        System.out.println(getTexte());
    }

    // Getter (accesseur en lecture)
    public String getTexte() {
        return texte;
    }

    // Setter (accesseur en écriture)
    public void setTexte(String texte) {
        this.texte = texte;
    }
}