Version sans JavaScript, en lecture seule : les ateliers, les quiz et l’exécution du code n’y sont pas. Version complète · Catalogue · Se connecter

Séquence

Encapsulation : getters et setters

Socle

Rendez les trois attributs de Personne privés, puis ajoutez les accesseurs getNom(), getPrenom(), getAge() et les mutateurs setNom(String), setPrenom(String), setAge(int). Le setAge doit refuser un âge négatif (il laisse alors l’âge inchangé).

Ici, un atelier : on y écrit et on y exécute du code. Il demande JavaScript.

Code de départ

Personne.java

public class Personne {

    // TODO : passer ces attributs en private
    String nom;
    String prenom;
    int age;

    public Personne(String nom, String prenom, int age) {
        this.nom = nom;
        this.prenom = prenom;
        this.age = age;
    }

    // TODO : getNom, getPrenom, getAge

    // TODO : setNom, setPrenom, setAge (qui refuse un age negatif)

    public void afficherDetails() {
        System.out.println(prenom + " " + nom + ", " + age + " ans");
    }
}

Exercices.java

public class Exercices {

    public static void main(String[] args) {
        // Une fois les getters et setters ecrits, remplacez ces lignes par :
        //     Personne p = new Personne("Dupont", "Jean", 18);
        //     p.setAge(-5);
        //     System.out.println("age apres setAge(-5) : " + p.getAge());
        System.out.println("Completez Personne.java, puis lancez Verifier.");
    }
}

Le socle se valide dans l’atelier, qui demande JavaScript.

Indice 1

private interdit l’accès depuis l’extérieur de la classe : c’est la classe elle-même qui garantit que ses données restent valides. C’est tout l’intérêt du filtre dans setAge.