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;
}
}