Menu
CoddyTech

方法

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

方法是属于类的函数。它们定义了对象可以执行的行为或操作。

下面是一个包含方法的类示例:

class Calculator {
  void greet() {
    print('Hello! I am a calculator.');
  }

  int add(int a, int b) {
    return a + b;
  }

  int multiply(int x, int y) {
    int result = x * y;
    print('$x x $y = $result');
    return result;
  }
}

Dart 中的方法签名始终包含返回类型。方法没有返回值时,使用 void。

创建一个计算器对象:

Calculator myCalc = Calculator();

调用一个不需要参数的方法:

myCalc.greet();

使用参数调用方法,并捕获返回值:

int sumResult = myCalc.add(5, 3);
print(sumResult);

调用一个既会打印内容又会返回值的方法:

int product = myCalc.multiply(4, 7);

输出:

Hello! I am a calculator.
8
4 x 7 = 28

方法可以:

  • 有返回类型,例如 int add(int a, int b)
  • 使用 return 返回值
  • 使用 print() 直接输出
  • 如果不返回任何内容,可以是 void

重点:使用点运算符在对象上调用方法:object.methodName(args)。

challenge icon

挑战

简单

在 bank_account.dart 中创建一个 BankAccount 类,包含:

  1. 一个初始值为 0 的 double balance 实例变量
  2. 一个 deposit 方法,接收一个 double amount,并将其加到 balance 上
  3. 一个 withdraw 方法,接收一个 double amount,并从 balance 中减去该值
  4. 一个 getBalance 方法,返回当前的 balance

然后在 driver.dart 中创建一个账户,存入 100,取出 30,并按以下格式打印余额:'Current balance: $[balance]'

亲手试试

import 'bank_account.dart';

void main() {
  BankAccount myAccount = BankAccount();
  myAccount.balance = 0;

  // TODO:存入 100

  // TODO:取出 30

  // TODO:按以下格式打印余额:'Current balance: $[balance]'
  // 提示:对余额使用 .toInt(),让输出更简洁
}
quiz icon自我测试

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

面向对象编程中的所有课

自己练习: Dart 在线编译器