Menu
Coddy logo textTech

Le mot-clé this

Fait partie de la section Programmation Orientée Objet du Journey Dart de Coddy — leçon 5 sur 110.

Le mot-clé this fait référence à l'instance actuelle d'une classe. À l'intérieur d'une méthode, this vous permet d'accéder aux propres variables de l'objet.

Voici un exemple d'une classe avec des méthodes utilisant this :

class Car {
  String color = '';
  String model = '';

  void honk() {
    print('Beep beep!');
  }

  void describe() {
    print('I am a ${this.color} ${this.model}');
  }
}

À l'intérieur de describe(), this.color et this.model font référence aux variables de cet objet spécifique.

Créez un objet voiture et définissez ses variables :

Car myCar = Car();
myCar.color = 'Red';
myCar.model = 'Sedan';

Appelez les méthodes :

myCar.honk();
myCar.describe();

Sortie :

Beep beep!
I am a Red Sedan

this est particulièrement utile lorsqu'un paramètre de méthode porte le même nom qu'une variable d'instance :

class Car {
  String color = '';

  void setColor(String color) {
    this.color = color; // this.color = variable d'instance, color = paramètre
  }
}

Sans this, Dart ne saurait pas si color se réfère au paramètre ou à la variable d'instance. Point clé : this se réfère toujours à l'objet spécifique qui appelle actuellement la méthode.

challenge icon

Défi

Facile

Complétez la classe Car dans car.dart en ajoutant une méthode appelée displayInfo qui utilise le mot-clé this pour afficher l'année, la marque et le modèle de la voiture au format :

'This car is a [year] [make] [model]'

  • car.dart : Contient la classe Car où vous ajouterez la méthode displayInfo
  • driver.dart : Définit les variables sur un objet car et appelle displayInfo() (verrouillé)

Aide-mémoire

Le mot-clé this fait référence à l'instance actuelle d'une classe et vous permet d'accéder aux propres variables de l'objet à l'intérieur des méthodes.

Utilisation de this dans une méthode :

class Car {
  String color = '';
  String model = '';

  void describe() {
    print('I am a ${this.color} ${this.model}');
  }
}

this est particulièrement utile lorsqu'un paramètre de méthode porte le même nom qu'une variable d'instance :

class Car {
  String color = '';

  void setColor(String color) {
    this.color = color; // this.color = variable d'instance, color = paramètre
  }
}

Sans this, Dart ne saurait pas si color fait référence au paramètre ou à la variable d'instance.

Essayez vous-même

import 'car.dart';

void main() {
  Car myCar = Car();
  myCar.year = '2020';
  myCar.make = 'Toyota';
  myCar.model = 'Corolla';
  myCar.displayInfo();
}
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