从Java到Dart 入门笔记

1 定义构造函数: 无方法体的构造函数是合法的, 例如

等同于

另外实例化一个对象 java中要用new, 而dart2 中new 是可选的, 例如


* dart 单双引号都可以用来制定字符,

* 使用${expression}在字符串中插入表达式,如果是标识符,可以省略{ }, 以上'Bicycle: $speed mph'等同于 'Bicycle: ${speed} mph'

* 使用 =>来代替return的写法,实现单行缩进效果,代码简洁有效

* Dart编译器会设置 以下划线开头的标识符为私有

* 未初始化变量(包括numbers类型) 默认值都是null。

* 默认下,Dart为所有的public实例变量提供了getters 和 setters 。不需要定义getters 和 setters就可以随处使用变量,更新变量。除非你想指定变量的只读或者只写,才需要重新定义getters 和 setters。

2  使用可选参数替换重载 (Dart不支持重载)


 * this.origin、this.width、 this.height 使用简写技巧在构造函数的声明中为实例变量赋初始值。

* this.origin、this.width、 this.height 都是可选命名参数。命名参数都闭包于大括号中 ({})。

* 其中 this.origin = const Point(0, 0)为origin实例变量指定了默认值——Point(0,0)。指定的默认值必须是编译时常量。 该构造函数为三个实例变量都提供默认值

3 创建一个工厂

*Dart 支持抽象( abstract)类 classes。

* 在一个文件中可定义多个类。

* 方式1:创建一个顶级函数

通过在顶层添加方法(类的外层),来实现一个工厂作为顶层方法, 如


* 方式2:创建一个工厂构造方法

* 在xxx抽象类中添加工厂的构造方法:


4 实现接口:Dart语言不包含interface关键字,因为每个类都隐式地定义了一个接口。

你可能感兴趣的:(从Java到Dart 入门笔记)