Menu
Coddy logo textTech

Le mot-clé this

Fait partie de la section Programmation Orientée Objet du Journey Java de Coddy — leçon 4 sur 87.

Le mot-clé this fait référence à l'instance actuelle d'une classe. Il permet de distinguer les champs et les paramètres portant le même nom.

Sans this, le paramètre masque le champ

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // Assigne le paramètre à lui-même !
    }
}

Utilisation de this pour assigner correctement des valeurs

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Assigne le paramètre au champ
    }
    
    public String getName() {
        return this.name;
    }
}

Utilisation de this dans les méthodes

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getDescription() {
        return this.name + " is " + this.age + " years old";
    }
}

Le mot-clé this pointe toujours vers l'objet actuel. Il est essentiel lorsque les noms des paramètres correspondent aux noms des champs, évitant ainsi les confusions et les bogues.

challenge icon

Défi

Moyen

Complétez la classe Person en utilisant le mot-clé this pour distinguer les champs des paramètres :

  • Un constructeur qui utilise this pour assigner les paramètres aux champs
  • Des méthodes getter utilisant this pour accéder aux champs
  • Une méthode getDescription() retournant "<name>, age <age>, from <city>"

Aide-mémoire

Le mot-clé this fait référence à l'instance actuelle d'une classe et permet de distinguer les champs des paramètres portant le même nom.

Sans this, le paramètre masque le champ :

public Person(String name) {
    name = name;  // Assigne le paramètre à lui-même !
}

Utilisation de this pour assigner correctement les valeurs :

public Person(String name) {
    this.name = name;  // Assigne le paramètre au champ
}

Utilisation de this dans les méthodes getter :

public String getName() {
    return this.name;
}

Utilisation de this avec plusieurs champs :

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getDescription() {
        return this.name + " is " + this.age + " years old";
    }
}

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        int age = Integer.parseInt(scanner.nextLine());
        String city = scanner.nextLine();
        
        Person person = new Person(name, age, city);
        
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
        System.out.println(person.getDescription());
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet