三、Dart基础 使用可选参数(而不是重载)

Java代码显示了重载构造函数,这是Java中的一种常见做法,其中构造函数具有相同的名称,但参数的数量或类型不同。Dart不支持重载构造函数并以不同方式处理这种情况。

1、添加一个Rectangle构造函数

import 'dart:math';
class Rectangle {
  int height;
  int width;
  Point origin;
  /**
   * 1、this.origin,this.width并this.height使用速记技巧在构造函数的声明中分配实例变量
   * 2、this.origin,, this.width和this.height是可选的命名参数。命名参数括在花括号({})中。
   * 3、该this.origin = const Point(0, 0)语法指定的默认值Point(0,0)的origin实例变量。指定的默认值必须是编译时常量。此构造函数为所有三个实例变量提供默认值。
   */
  Rectangle({this.origin = const Point(0, 0), this.width = 0, this.height = 0});
}

main () {
}
2、重写toString方法
@override
String toString() =>
      'Origin: (${origin.x}, ${origin.y}), width: $width, height: $height';

3、使用构造函数

main() {
  print(Rectangle(origin: const Point(10, 20), width: 100, height: 200));
  print(Rectangle(origin: const Point(10, 10)));
  print(Rectangle(width: 200));
  print(Rectangle());
}

运行结果

转载于:https://my.oschina.net/u/782865/blog/2354508

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值