Menu
CoddyTech

类与对象

本课属于 Coddy Dart 学习旅程的“面向对象编程”单元。第 4 课,共 110 课。

类和对象的用途不同。类是蓝图,而对象是根据蓝图构建出来的。

下面是一个包含实例变量的类示例:

class Dog {
  String name = '';
  String breed = '';
}

在类中声明的变量(例如 name 和 breed)属于从该类创建的每个对象。我们稍后会深入探讨实例变量。

从同一个类创建多个对象:

Dog dog1 = Dog();
Dog dog2 = Dog();

每个对象的这些变量都可以有各自独特的值:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

使用点运算符 . 来访问对象的变量:

print('${dog1.name} is a ${dog1.breed}');
print('${dog2.name} is a ${dog2.breed}');

输出:

Nicky is a Siberian Husky
Teemon is a Labrador

主要区别:Dog 类定义了所有狗共有的结构,而 dog1 和 dog2 是各自具有独特数据的独立对象。

challenge icon

挑战

简单

补全代码,从 Student 类创建两个学生对象,并设置它们的变量。

  • student.dart:包含 Student 类(已锁定)
  • driver.dart:创建两个对象并设置它们的数据

设置以下值:

  • student1:姓名为 'Alice',成绩为 'A'
  • student2:姓名为 'Bob',成绩为 'B'

亲手试试

import 'student.dart';

void main() {
  // TODO: 创建两个 Student 对象


  // TODO: 设置 student1 的 name 和 grade(name: 'Alice',grade: 'A')


  // TODO: 设置 student2 的 name 和 grade(name: 'Bob',grade: 'B')


  print('${student1.name} has grade ${student1.grade}');
  print('${student2.name} has grade ${student2.grade}');
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: Dart 在线编译器