E sobre construtores, como no Java, Flutter existem a possibilidade de se implementar construtores?
E sobre construtores, como no Java, Flutter existem a possibilidade de se implementar construtores?
Não conheço Java mas Dart (Flutter) tem sim construtores. Por exemplo, ao instanciar a classe A
, você pode querer configurar algum valor ou fazer algum cáculo. Para isso, você faria:
class A {
double x = 0;
double y = 0;
A(double x, double y) { // este é o construtor
// aqui você poderia fazer algum cálculo ou setar algum valor
// por exemplo:
x = x * 4
y = x + 10
// e depois passar os valores para a classe em si
this.x = x;
this.y = y;
}
}
Esta forma é para casos onde você precisa fazer alguma ação com os valores passados para a classe. Porém, caso você queira apenas que as variáveis x
e y
(dentro de A
) recebam os valores dos parâmetros da classe, use:
class A {
double x = 0;
double y = 0;
A(this.x, this.y);
Assim você poderá instanciar a classe A
assim:
var instancia = A(10, 15);
print("${A.x}"); // Saída: 10
print("${A.y}"); // Saída: 15
Você ainda pode criar construtores nomeados, usando:
class A {
double x = 0;
double y = 0;
A(this.x, this.y);
A.duplicar() {
x = x * 2;
y = y * 2;
}
Para entender melhor sobre construtores em Dart, leia a parte de construtores na documentação.
Espero ter ajudado. Rafael.