Ricerca…


Creare una classe

Le classi possono essere create come segue:

class InputField {
  int maxLength;
  String name;
}

La classe può essere istanziata usando la new parola chiave dopo la quale i valori del campo saranno nulli di default.

var field = new InputField();

È possibile accedere ai valori del campo:

// this will trigger the setter
field.name = "fieldname";

// this will trigger the getter
print(field.name);

Utenti

Una classe può avere membri.

Le variabili di istanza possono essere dichiarate con / senza annotazioni di tipo e facoltativamente inizializzate. I membri non inizializzati hanno il valore null , a meno che non siano impostati su un altro valore dal costruttore.

class Foo {
  var member1;
  int member2;
  String member3 = "Hello world!";
}

Le variabili di classe sono dichiarate usando la parola chiave static .

class Bar {
  static var member4;
  static String member5;
  static int member6 = 42;
}

Se un metodo non accetta argomenti, è veloce, restituisce un valore e non ha effetti collaterali visibili, quindi è possibile utilizzare un metodo getter:

class Foo {
  String get bar {
    var result;
    // ...
    return result;
  }
}

I getter non accettano mai argomenti, quindi le parentesi per l'elenco dei parametri (vuoto) vengono omesse sia per dichiarare i getter, come sopra, sia per chiamarli, in questo modo:

main() {
  var foo = new Foo();
  print(foo.bar); // prints "bar"
}

Ci sono anche metodi setter, che devono prendere esattamente un argomento:

class Foo {
  String _bar;

  String get bar => _bar;

  void set bar(String value) {
    _bar = value;
  }
}

La sintassi per chiamare un setter è la stessa dell'assegnazione variabile:

main() {
  var foo = new Foo();
  foo.bar = "this is calling a setter method";
}

Costruttori

Un costruttore di classi deve avere lo stesso nome della sua classe.

Creiamo un costruttore per una classe Persona:

class Person {
  String name;
  String gender;
  int age;

  Person(this.name, this.gender, this.age);
}

L'esempio sopra è un modo più semplice e migliore per definire il costruttore rispetto al modo seguente, che è anche possibile:

class Person {
  String name;
  String gender;
  int age;

  Person(String name, String gender, int age) {
    this.name = name;
    this.gender = gender;
    this.age = age;
  }
}

Ora puoi creare un'istanza di Person in questo modo:

var alice = new Person('Alice', 'female', 21);


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow