方法
本课属于 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)。
挑战
简单在 bank_account.dart 中创建一个 BankAccount 类,包含:
- 一个初始值为
0的double balance实例变量 - 一个
deposit方法,接收一个double amount,并将其加到balance上 - 一个
withdraw方法,接收一个double amount,并从balance中减去该值 - 一个
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(),让输出更简洁
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: Dart 在线编译器