"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Ce que vous devez savoir sur le mot-clé This en Java.

Ce que vous devez savoir sur le mot-clé This en Java.

Publié le 2024-11-08
Parcourir:108

hings You Should Know about the This keyword in Java.

1. Quel est ce mot-clé en Java ?

Le mot-clé this en Java est une référence à l'objet actuel. Il est utilisé dans une méthode d'instance ou un constructeur pour faire référence à l'objet en cours de construction ou d'appel.

1.1 Objectif de ce mot clé

L'objectif principal du mot-clé this est de faire la distinction entre les variables d'instance (champs) et les paramètres ou variables locales portant le même nom. Il est également utilisé pour transmettre l'objet actuel en tant que paramètre à d'autres méthodes, renvoyer l'objet actuel et appeler d'autres constructeurs dans un constructeur.

1.2 Exemple : Distinction entre les variables d'instance et les paramètres

Prenons l'exemple suivant dans lequel this est utilisé pour différencier les variables d'instance et les paramètres de méthode :

public class Employee {
    private String name;
    private int age;

    public Employee(String name, int age) {
        this.name = name; // 'this.name' refers to the instance variable
        this.age = age; // 'this.age' refers to the instance variable
    }

    public void setName(String name) {
        this.name = name; // 'this.name' refers to the instance variable
    }

    public String getName() {
        return this.name; // 'this.name' refers to the instance variable
    }
}

Dans cet exemple, le mot-clé this est utilisé pour résoudre l'ambiguïté entre les variables d'instance name et age et les paramètres du constructeur name et âge.

2. Utiliser ceci pour transmettre l'objet actuel

Le mot-clé this peut également être utilisé pour transmettre l'objet actuel en tant que paramètre à une autre méthode ou constructeur.

2.1 Exemple : Passer ceci en tant que paramètre

Voici un exemple illustrant la transmission de ceci en tant que paramètre :

class Calculator {
    int result;

    Calculator add(int value) {
        this.result  = value;
        return this; // returning the current object
    }

    Calculator subtract(int value) {
        this.result -= value;
        return this;
    }

    void displayResult() {
        System.out.println("Result: "   this.result);
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator calc = new Calculator();
        calc.add(10).subtract(3).displayResult(); // chaining methods using 'this'
    }
}

Dans cet exemple, this est renvoyé par les méthodes add et subtract, permettant le chaînage de méthodes.

2.2 Chaînage de constructeurs utilisant ceci

Le mot-clé this peut être utilisé pour appeler un constructeur à partir d'un autre, facilitant ainsi le chaînage des constructeurs.

public class Box {
    private int length, width, height;

    public Box() {
        this(0, 0, 0); // calls the three-parameter constructor
    }

    public Box(int length, int width, int height) {
        this.length = length;
        this.width = width;
        this.height = height;
    }

    public void displayDimensions() {
        System.out.println("Dimensions: "   length   "x"   width   "x"   height);
    }
}

Dans cet exemple, le constructeur sans argument appelle le constructeur à trois arguments en utilisant this , définissant les dimensions par défaut pour la Box.

3. Utiliser ceci pour renvoyer l'objet actuel

Renvoyer l'objet actuel à l'aide de this est une pratique courante dans le chaînage de méthodes.

3.1 Exemple : renvoyer ceci pour le chaînage de méthodes

Renvoyer ceci permet d'obtenir des interfaces fluides, qui sont souvent vues dans les constructeurs ou les API.

class Person {
    private String firstName, lastName;

    Person setFirstName(String firstName) {
        this.firstName = firstName;
        return this;
    }

    Person setLastName(String lastName) {
        this.lastName = lastName;
        return this;
    }

    void displayFullName() {
        System.out.println("Full Name: "   this.firstName   " "   this.lastName);
    }
}

public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.setFirstName("John").setLastName("Doe").displayFullName();
    }
}

Ici, les méthodes setFirstName et setLastName renvoient this , permettant un chaînage de méthodes et un style de code plus fluide.

4. Erreurs courantes et meilleures pratiques

Une mauvaise utilisation du mot-clé this peut entraîner des erreurs ou un code difficile à lire. Il est essentiel de comprendre quand et pourquoi l'utiliser.

4.1 Évitez d'en abuser

Bien que ce soit utile, évitez d'en abuser là où ce n'est pas nécessaire, car cela peut encombrer votre code.

4.2 Comprendre le contexte

Assurez-vous de bien comprendre le contexte dans lequel ce est utilisé, en particulier dans les bases de code complexes où plusieurs objets et méthodes interagissent.

5. Conclusion

Le mot-clé this en Java est un outil puissant pour gérer efficacement le code orienté objet. En comprenant comment l'utiliser pour distinguer les variables d'instance, transmettre l'objet actuel, enchaîner les méthodes et appeler les constructeurs, vous pouvez écrire un code plus fluide, plus lisible et plus maintenable.

Si vous avez des questions ou avez besoin de précisions sur ce mot-clé, n'hésitez pas à commenter ci-dessous !

Lisez les articles plus sur : 4 choses que vous devez savoir sur le mot-clé This en Java.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/anh_trntun_4732cf3d299/4-things-you-should-know-about-the-this-keyword-in-java-3k23?1 En cas de violation, veuillez contacter Study_golang @163.com supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3