回顾:形状构建器
本课属于 Coddy Dart 学习旅程的“面向对象编程”单元。第 16 课,共 110 课。
挑战
简单让我们来构建一个 Rectangle 类,把你在本章学过的所有构造函数技巧结合起来。你将创建一个用途广泛的形状类,可以通过多种方式实例化。
你将把代码分成两个文件:
rectangle.dart:定义一个Rectangle类,包含以下内容:- 两个
final double字段:width和height - 两个计算得出的
final double字段:area和perimeter - 一个主构造函数,接收
width和height,并使用初始化列表计算area(width × height)和perimeter(2 × (width + height)) - 一个命名构造函数
Rectangle.square(double side),将调用重定向到主构造函数,并传入相等的宽度和高度 - 一个命名构造函数
Rectangle.golden(double width),使用黄金比例创建矩形(height = width × 1.618),并将调用重定向到主构造函数 - 一个常量构造函数
Rectangle.unit(),用于创建 1×1 矩形(你需要为此单独定义一个 const 构造函数) - 一个
display()方法,用于输出矩形的信息
- 两个
main.dart:导入你的矩形类,并创建四个矩形:- 一个宽度为
4.0、高度为3.0的自定义矩形 - 一个边长为
5.0的正方形 - 一个宽度为
10.0的黄金矩形 - 使用常量构造函数创建一个单位矩形(将它创建为编译时常量)
display()。- 一个宽度为
display() 方法应按照以下准确格式输出:
Rectangle [width]x[height] | Area: [area] | Perimeter: [perimeter]预期输出:
Rectangle 4.0x3.0 | Area: 12.0 | Perimeter: 14.0
Rectangle 5.0x5.0 | Area: 25.0 | Perimeter: 20.0
Rectangle 10.0x16.18 | Area: 161.8 | Perimeter: 52.36
Rectangle 1.0x1.0 | Area: 1.0 | Perimeter: 4.0亲手试试
import 'rectangle.dart';
void main() {
// TODO: 创建一个宽为 4.0、高为 3.0 的自定义矩形
// TODO: 创建一个边长为 5.0 的正方形
// TODO: 创建一个宽为 10.0 的黄金矩形
// TODO: 使用常量构造函数创建一个单位矩形
// (使用 'const' 将它创建为编译时常量)
// TODO: 按上述顺序对每个矩形调用 display()
}
面向对象编程中的所有课
自己练习: Dart 在线编译器