Dart 是一门面向对象的语言,同样的也具有面向对象的三大特性:封装、继承、多态。
跟 Java 一样,Dart 中的类也是单继承的。
通过 class 关键字定义一个类,类中的成员有属性,方法,构造器。在 Dart 中,没有像 public 或 private 这样的权限修饰符。
main(){
Person p = new Person('jonas', 18);
print(p.getInfo());//My name is jonas,18 years old.
}
class Person{
String username;
int age;
Person(String username,int age){
this.username = username;
this.age = age;
}
String getInfo(){
return "My name is $username,$age years old.";
}
}
注意:实例属性可以直接通过实例对象.属性的方式来获取
在 Dart 中,可以通过 static 关键字来定义静态的属性和方法。
同样的,通过 extends 关键字来继承父类,这样就会继承父类中可见的属性与方法。
通过关键字 super 可以拿到父类本身。
通过 abstract 定义抽象类,抽象类中的方法如果没有方法体,则是抽象方法,如果有方法体,则为类的普通方法,不需要使用后关键字来定义抽象方法。
通过 implements 关键字可以实现一个抽象类。
注意,在 Dart 中,没有 interface 这个关键字,接口是由抽象类来实现的,若一个抽象类中所有的方法都是抽象方法,那么这个抽象类就可以看成是一个接口。一个类只能继承一个类,但是可以实现多个接口(抽象类)。
最后,Dart 支持泛型类,泛型方法。
大致上还是与 Java 的语法很相似的,这里不废话了。