📜  Dart的构造函数(1)

📅  最后修改于: 2023-12-03 15:00:20.607000             🧑  作者: Mango

Dart的构造函数

简介

在Dart中,构造函数是用于实例化类的方法,它会在对象创建时运行。Dart中的构造函数具有以下特点:

  • 构造函数与类同名
  • 构造函数可以有可选参数
  • 构造函数可以有默认值
  • 构造函数可以使用初始化列表
  • 构造函数可以调用其他构造函数
定义构造函数

定义一个构造函数非常简单,只需要在类中定义一个与类同名的方法即可。

class Person {
  Person();
}

这是一个空的构造函数。

带参数的构造函数

为了接受参数,我们可以在构造函数中添加参数。

class Person {
  String name;
  int age;

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

这个构造函数使用了“语法糖”,将参数名与实例变量名关联起来。

默认值参数构造函数

Dart中的构造函数可以使用默认值参数。定义默认值参数的方式与定义普通参数一样。

class Person {
  String name;
  int age;

  Person({this.name = '', this.age = 0});
}

这个构造函数参数使用了命名形式,并定义了默认值。这些默认值可以在调用构造函数时省略。

初始化列表

Dart中的构造函数可以使用初始化列表,以优化代码。

class Person {
  String name;
  int age;

  Person({this.name = '', this.age = 0}): assert(age >= 0);
}

这个构造函数使用了初始化列表,并在其中添加了一个断言,确保年龄>= 0。

调用其他构造函数

使用关键字this可以调用同一个类中的其他构造函数。

class Person {
  String name;
  int age;

  Person(this.name, this.age);

  Person.defaults() : this('', 0);
}

这个构造函数使用了另一个相同的构造函数(用于默认值)。

结论

在Dart中,构造函数是实例化类的重要方法。它具有多种形式,如带参数构造函数、默认值参数构造函数、初始化列表和调用其他构造函数。这些功能为开发人员提供了灵活性和便利性。