1.引言
当前移动端比较火的莫过于Flutter,开发语言Dart ,Dart号称能运用到前端,后台,app上。Flutter是未来的开发趋势,所有有必要学习下Dart。
Dart中文教程:http://dart.goodev.org/guides/language/language-tour#operators
2.正文
按照文档学习了一遍Dart。下面将记录下Dart与java的异同。
-
Dart中 Object 是所有类的超类,int 是num类的一个子类。
-
Dart中 没得方法重载这一说,可以重写父类的方法
-
构造方法可以通过ClassName 和ClassName.name 去申明
例如:Student() 和Student.decode().都可以是Student的构造方法 -
构造方法可以顺带初始化变量。例如:
abstract class SuperClass {
String name;
void getName();
//构造方法
SuperClass():name="123"{
}
}
-
Dart中级联 与java中的builder模式一个意思
-
Dart中 函数的参数可以定义成可选。通过{ }或[]
-
Dart 中每个类都是隐式接口。 B类 可以通过implements 来重写A类的方法。class B implements A 那么B 将重写A 所有的函数和变量。java中的interface 在Dart中 可以用class 代替。
-
Dart中 Mixins 知识点,通过with关键字,可以拥有with后面所有类方法的交集。例如:
class B {
a() {
print("S.a");
}
}
class A {
a() {
print("A.a");
}
b() {
print("A.b");
}
}
class C {
a() {
print("C.a");
}
b() {
print("C.b");
}
}
class T with B, C, A {
a() {
print("T.a");
}
}
void main() {
T t = new T();
t.a();
t.b();
}
class T的b方法 就是,B,C,A三个类中的交集。以最后一个类的b方法为准
- Dart 中的异步编程:
Future表示在将来某时获取一个值的方式。当一个返回Future的函数被调用的时候,做了两件事情:
- 函数把自己放入队列和返回一个未完成的Future对象
- 之后当值可用时,Future带着值变成完成状态。
为了获得Future的值,有两种方式: - 使用async和await
- 使用Future的接口
Future<String> getUserInfor() async {
return "wxy";
}
requestUserInfor() async {
String success = await getUserInfor();
print(success);
}
void main(List<String> args) async {
String success = await getUserInfor();
print(success);
}
网友评论