什么是构造函数?

2025年3月17日 | 阅读 3 分钟

构造函数是一种与其他函数类型不同的函数,它使用与其类名相同的名称创建。构造函数用于在创建对象时初始化对象。当我们创建类的对象时,就会自动调用构造函数。它与类函数非常相似,但它没有显式的返回类型。生成构造函数是构造函数最通用的形式,用于创建类的新实例。

它可以在类中声明。所有类都有自己的构造函数,但如果我们不声明或忘记,那么 Dart 编译器将通过将默认值传递给成员变量来自动创建默认构造函数。如果我们声明了自己的构造函数,那么默认构造函数将被忽略。

示例 -

假设我们有一个名为 Student 的类,我们将按如下方式创建它的一个对象。

它调用了 Student 类的默认构造函数。

在 Dart 中创建构造函数

如前所述,构造函数与类名相同,并且它不返回任何值。假设我们有类 Student,那么构造函数的名称也应该是 Student

语法

在创建构造函数时,我们必须记住以下两个规则。

  • 构造函数名称应与类名相同。
  • 构造函数没有显式的返回类型。

让我们理解下面的例子。

示例 -

输出

The name is: Jones
The age is: 26

说明

在上面的例子中,我们创建了一个构造函数 Student(),它与类名相同。我们在构造函数中传递了两个参数,当我们实例化一个 Student 类的对象并传递值时,它会自动调用构造函数,然后打印结果。

构造方法类型

Dart 中有三种类型的构造函数,如下所示。

  • 默认构造函数或无参数构造函数
  • 参数构造函数
  • 命名构造函数

默认构造函数或无参数构造函数

一个没有参数的构造函数被称为默认构造函数或无参数构造函数。如果我们不在类中声明它,Dart 编译器会自动创建它(不带参数)。如果我们使用参数或不带参数创建构造函数,Dart 编译器会忽略默认构造函数。语法如下所示。

语法

让我们理解下面的例子。

示例 -

输出

The example of the default constructor

参数化构造函数

我们还可以将参数传递给构造函数,这种类型的构造函数称为参数化构造函数。它用于初始化实例变量。有时,我们需要一个接受单个或多个参数的构造函数。参数化构造函数主要用于使用自己的值初始化实例变量。语法如下所示。

语法

让我们理解下面的例子。

示例 -

输出

The name is: Jones
The age is: 26

解释 -

在上面的例子中,我们声明了一个参数化构造函数,它有两个参数 name 和 age。我们创建了一个 Student 类的对象,并将适当的值传递给构造函数。它将 name 和 age 作为输出打印到屏幕上。

命名构造函数

命名构造函数用于在单个类中声明多个构造函数。语法如下所示。

语法

让我们理解下面的例子。

示例 -

输出

The example of the named constructor
The branch is: Computer Science