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

Redéfinir toString()

Socle

Ajoutez toString() à Personne (elle doit renvoyer "Jean Dupont (18 ans)") et redéfinissez-le dans Etudiant pour y ajouter le numéro : "Jean Dupont (18 ans) - 3iL2025". Vérifiez ensuite que System.out.println(personne) affiche directement le bon texte.

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 {

    private String nom;
    private String prenom;
    private int age;

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

    public String getNom() {
        return nom;
    }

    public String getPrenom() {
        return prenom;
    }

    public int getAge() {
        return age;
    }

    // TODO : @Override public String toString() -> "Jean Dupont (18 ans)"
}

Etudiant.java

public class Etudiant extends Personne {

    private String numEtudiant;

    public Etudiant(String nom, String prenom, int age, String numEtudiant) {
        super(nom, prenom, age);
        this.numEtudiant = numEtudiant;
    }

    public String getNumEtudiant() {
        return numEtudiant;
    }

    // TODO : @Override public String toString() avec super.toString() + " - " + numEtudiant
}

Exercices.java

public class Exercices {

    public static void main(String[] args) {
        System.out.println(new Personne("Dupont", "Jean", 18));
        System.out.println(new Etudiant("Dupont", "Jean", 18, "3iL2025"));
    }
}

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

Indice 1

toString() est appelée automatiquement dès qu’un objet est concaténé ou affiché. Dans Etudiant, réutilisez le travail de la mère avec super.toString() au lieu de tout réécrire. L’annotation @Override demande au compilateur de vérifier que vous redéfinissez bien une méthode existante.