📅  最后修改于: 2023-12-03 14:41:16.776000             🧑  作者: Mango
在 Flutter 中,构造函数是一个类用于初始化的方法。类别可以定义一个或多个构造函数。如果没有明确定义构造函数,则默认情况下会提供一个无参构造函数。
下面是一个简单的类,它包含一个默认构造函数:
class Person {
String name;
int age;
Person(this.name, this.age);
void printDetails() {
print('Name: $name, Age: $age');
}
}
这个类有两个成员变量:name
和 age
,用于存储个人的姓名和年龄。类中的构造函数使用简写语法来初始化变量。
我们可以创建一个 Person
的实例,并打印其详细信息:
void main() {
var person = Person('John', 30);
person.printDetails();
}
输出:
Name: John, Age: 30
Flutter 还允许您定义多个构造函数。可以使用命名构造函数来实现这一点。命名构造函数允许您为构造函数提供不同的函数签名。
例如,下面的类定义包括两个命名构造函数:
class Point {
double x, y;
Point(this.x, this.y);
Point.origin() {
x = 0;
y = 0;
}
void printDetails() {
print('x: $x, y: $y');
}
}
这个类有两个构造函数:Point
和 Point.origin
。Point
构造函数用于标准点初始化,而 Point.origin
构造函数将点设置为原点。
我们可以创建一个 Point
实例并输出其详细信息:
void main() {
var point1 = Point(2, 3);
point1.printDetails();
var point2 = Point.origin();
point2.printDetails();
}
输出:
x: 2.0, y: 3.0
x: 0.0, y: 0.0
如果您希望创建一个可以作为常量使用的类,则可以使用常量构造函数。常量构造函数必须满足以下两个条件:
以下是常量构造函数的示例:
class Circle {
final double radius;
const Circle(this.radius);
double get area => radius * radius * 3.14;
}
注意,我们已将 radius
成员变量声明为 final
。现在,我们可以在应用程序的任何地方使用常量构造函数,这将返回一个 const
对象。
void main() {
var circle1 = const Circle(5);
var circle2 = const Circle(5);
print(circle1 == circle2); // true
}
输出:
true
常量构造函数返回的是一个 const
对象,所以 circle1
和 circle2
都应该是相同的对象。
Flutter 中的构造函数是一个类用于初始化的方法。类别可以定义一个或多个构造函数。
以上是 Flutter 中构造函数的介绍。希望本文能够对您学习 Flutter 有所帮助!