Menu
Coddy logo textTech

Variabili di istanza

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

Le variabili di istanza sono variabili dichiarate all'interno di una classe. Ogni oggetto creato a partire dalla classe ottiene una propria copia di queste variabili, indipendente da tutti gli altri oggetti.

Dichiara le variabili di istanza con un tipo e un valore predefinito facoltativo:

class Student {
  String school = 'Dart Academy'; // ha un valore predefinito
  String name = '';               // valore predefinito vuoto
  int age = 0;                    // valore predefinito pari a zero
}

Le variabili con valori predefiniti iniziano con lo stesso valore per ogni nuovo oggetto. Variabili come name e age iniziano vuote o a zero finché non le imposti.

Usa un metodo con this per impostare i singoli dati dell’oggetto:

class Student {
  String school = 'Dart Academy';
  String name = '';
  int age = 0;

  void setInfo(String name, int age) {
    this.name = name; // this.name = variabile di istanza
    this.age = age;   // this.age  = variabile di istanza
  }
}

Crea degli studenti e assegna i loro dati:

Student student1 = Student();
Student student2 = Student();

student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);

Accedi alle variabili di istanza usando l’operatore punto:

print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');

Output:

Alice is 20 at Dart Academy
Bob is 22 at Dart Academy

Nota che school è uguale per entrambi gli oggetti perché ha un valore predefinito, mentre name e age sono unici per ciascun oggetto perché sono stati impostati individualmente tramite setInfo.

challenge icon

Sfida

Facile

Completa la classe Student in student.dart:

  1. Dichiara una variabile di istanza String school con il valore predefinito 'Dart Academy'
  2. Dichiara una variabile di istanza String name con il valore predefinito ''
  3. Dichiara una variabile di istanza int age con il valore predefinito 0
  4. Aggiungi un metodo setInfo che accetta String name e int age come parametri e li imposta sull'oggetto usando this

Il file driver.dart verificherà la tua classe creando due studenti e stampando le loro informazioni (bloccato).

Provalo tu

import 'student.dart';

void main() {
  Student student1 = Student();
  Student student2 = Student();

  student1.setInfo('Alice', 20);
  student2.setInfo('Bob', 22);

  print('${student1.name} is ${student1.age} at ${student1.school}');
  print('${student2.name} is ${student2.age} at ${student2.school}');
}
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