Buscar..


Creando una clase

Las clases se pueden crear de la siguiente manera:

class InputField {
  int maxLength;
  String name;
}

Se puede crear una instancia de la clase utilizando la new palabra clave, después de lo cual los valores de campo serán nulos de forma predeterminada.

var field = new InputField();

Se puede acceder a los valores de campo:

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

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

Miembros

Una clase puede tener miembros.

Las variables de instancia se pueden declarar con / sin anotaciones de tipo y, opcionalmente, se pueden inicializar. Los miembros sin inicializar tienen el valor de null , a menos que el constructor los establezca en otro valor.

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

Las variables de clase se declaran utilizando la palabra clave static .

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

Si un método no toma argumentos, es rápido, devuelve un valor y no tiene efectos secundarios visibles, entonces se puede usar un método getter:

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

Los getters nunca toman argumentos, por lo que los paréntesis para la lista de parámetros (vacía) se omiten tanto para declarar a los getters, como los anteriores, y para llamarlos, de esta manera:

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

También hay métodos de establecimiento, que deben tomar exactamente un argumento:

class Foo {
  String _bar;

  String get bar => _bar;

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

La sintaxis para llamar a un definidor es la misma que la asignación de variables:

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

Constructores

Un constructor de clase debe tener el mismo nombre que su clase.

Vamos a crear un constructor para una persona de clase:

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

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

El ejemplo anterior es una forma más simple y mejor de definir el constructor que la siguiente, que también es posible:

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

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

Ahora puedes crear una instancia de Persona como esta:

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow