dart
Las clases
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);