返回

Dart 面向对象 —— 理解 Dart 类之间的关系

IOS





Dart 是一种面向对象的编程语言,它支持类和继承。类是 Dart 中定义数据类型和行为的基本结构,而继承允许我们创建新的类,这些类具有父类的属性和行为,同时也可以拥有自己的属性和行为。

在 Dart 中,类是单继承的,这意味着一个类只能从一个父类继承。使用 extends 来继承一个类。子类将继承除了构造方法之外的所有属性和方法。

为了更好地理解继承,我们来看一个示例。我们创建一个 Person 类,它具有 name 和 age 属性。

```dart
class Person {
  String name;
  int age;

  Person(this.name, this.age);

  void speak() {
    print("My name is $name and I am $age years old.");
  }
}

现在,我们创建一个 Student 类,它从 Person 类继承。Student 类具有自己的 name 和 age 属性,以及一个新的 grade 属性。

class Student extends Person {
  int grade;

  Student(String name, int age, this.grade) : super(name, age);

  void study() {
    print("I am studying.");
  }
}

Student 类继承了 Person 类的所有属性和方法,包括 name、age 和 speak() 方法。此外,Student 类还具有自己的 grade 属性和 study() 方法。

我们可以使用 Student 类来创建新的对象。例如,我们可以创建一个名为 "John" 的学生,年龄为 18 岁,成绩为 "A"。

Student john = new Student("John", 18, "A");

现在,我们可以使用 john 对象来访问 Person 类的属性和方法,以及 Student 类的属性和方法。例如,我们可以使用 john.name 来获取 John 的名字,使用 john.age 来获取 John 的年龄,使用 john.speak() 来让 John 说话,使用 john.grade 来获取 John 的成绩,以及使用 john.study() 来让 John 学习。

继承是 Dart 中一个非常重要的特性。它允许我们创建新的类,这些类具有父类的属性和行为,同时也可以拥有自己的属性和行为。这使得我们可以在 Dart 中创建复杂的程序。