Menu
Coddy logo textTech

La parola chiave this

Fa parte della sezione Programmazione orientata agli oggetti del percorso Dart di Coddy. Lezione 5 di 110.

La parola chiave this fa riferimento all'istanza corrente di una classe. All'interno di un metodo, this ti permette di accedere alle variabili dell'oggetto stesso.

Ecco un esempio di una classe con metodi che utilizzano this:

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

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

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

All'interno di describe(), this.color e this.model fanno riferimento alle variabili di quello specifico oggetto.

Crea un oggetto auto e imposta le sue variabili:

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

Chiama i metodi:

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

Output:

Beep beep!
I am a Red Sedan

this è particolarmente utile quando un parametro di un metodo ha lo stesso nome di una variabile di istanza:

class Car {
  String color = '';

  void setColor(String color) {
    this.color = color; // this.color = variabile di istanza, color = parametro
  }
}

Senza this, Dart non saprebbe se color si riferisce al parametro o alla variabile di istanza. Punto chiave: this si riferisce sempre all'oggetto specifico che sta chiamando il metodo.

challenge icon

Sfida

Facile

Completa la classe Car in car.dart aggiungendo un metodo chiamato displayInfo che usa la parola chiave this per stampare l'anno, la marca e il modello dell'auto nel formato:

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

  • car.dart: contiene la classe Car in cui aggiungerai il metodo displayInfo
  • driver.dart: imposta le variabili su un oggetto auto e chiama displayInfo() (bloccato)

Provalo tu

import 'car.dart';

void main() {
  Car myCar = Car();
  myCar.year = '2020';
  myCar.make = 'Toyota';
  myCar.model = 'Corolla';
  myCar.displayInfo();
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Dart online