美文网首页
02Dart:并不支持构造函数的重载

02Dart:并不支持构造函数的重载

作者: tanhh | 来源:发表于2018-10-31 15:31 被阅读0次

    Java 代码中,使用了重载构造函数的方法,该方法在 Java 中很普遍,重载的构造函数和之前的构造函数具有相同的方法名,但是在方法的参数个数或者参数类型上有些许不同。Dart 并不支持构造函数的重载,而采用了构造方法使用可选类型参数

    import 'dart:math';

    class Rectangle {

      int width;

      int height;

      Point origin;

    // 这个构造方法使用了可选类型参数。

      Rectangle({this.origin = const Point(0, 0), this.width = 0, this.height = 0});

    //  this.origin, this.width 和 this.height 使用了 Dart 提供的简便方法来直接对类中的实例变量进行赋值。

    // this.origin, this.width 和 this.height 嵌套在闭合的花括号中 ({}) ,用来表示它们是可选的命名参数。

    // this.origin = const Point(0, 0) 这样的代码表明给实例变量 origin 提供了默认的值 Point(0,0),默认值必须是在编译器就可以确定的常量。上述代码中的构造方法为三个实例变量都提供了默认参数。

      @override

    String toString() =>

          'Origin: point: (${origin.x}, ${origin.y}), width: $width, height: $height';

    }

    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());

    }

    相关文章

      网友评论

          本文标题:02Dart:并不支持构造函数的重载

          本文链接:https://www.haomeiwen.com/subject/ogeatqtx.html