Class person{
String name ="张三";
int age=23;
void getInfo(){
print("$name---$age");
print("${this.name}";
}
}
Person(){
print('')
} //默认构造函数
Person.now(){
print('我是命名构造函数');
}
//Dart 里面构造函数可以写多个
必须要把类单独抽成一个文件 使用_ 才能使变量私有化
类中的getter 和setter 修饰符
Getter 和 Setter 是用来设置和 访问对象属性的的特殊函数,每个实例变量都隐含一个getter ,如果变量不是final 的则还有一个setter。 你可以通过实行getter 和setter 来创建新的属性,使用get 和set关键字定义getter 和setter
class Rectangle {
num left;
num top;
num width;
num height;
Rectangle(this.left, this.top, this.width, this.height);
// Define two calculated properties: right and bottom.
num get right => left + width;
set right(num value) => left = value - width;
num get bottom => top + height;
set bottom(num value) => top = value - height;
}
main() {
var rect = new Rectangle(3, 4, 20, 15);
assert(rect.left == 3);
rect.right = 12;
assert(rect.left == -8);
}
静态成员
静态方法不能访问非静态的属性
Dart 中的对象操作符:
?
as
is
``
is 判断类型
继承
子类里面覆写父类
class web extends Person{
Web(String name, num age) :super (name,age);
}
抽象类
abstract class Animal{
eat();//抽象方法
}
class Dog extends Animal{
@override
eat(){
print('xx')
}
}
main(){
Dog d = new Dog();
d.eat();
}
接口
abstract class Db{
String uri;
add();
save();
delete();
}
class Mysql implements Db{
add(){
}
}