Dart的多态
- 允许将子类类型的指针赋值给父类类型的指针,同一个函数调用会有不同的执行效果。
- 子类的实例赋值给父类的引用。
- 多态就是父类定义一个方法不去实现,让继承他的子类去实现,每个子类有不同的实现。
main(List<String> args) {
var dog = new Dog();
dog
..eat()
..run()
..sleep()
..printInfo();
Animal a = new Dog();
a
..eat()
..run();
Animal c = new Cat();
c
..eat()
..run();
}
abstract class Animal {
eat();
run();
printInfo() {
print('抽象类中的普通方法~~');
}
}
class Dog extends Animal {
@override
eat() {
print('小狗吃饭~~');
}
@override
run() {
print('小狗在跑~~');
}
sleep() {
print('小狗在睡觉~~');
}
}
class Cat extends Animal {
@override
eat() {
print('小猫吃饭~~');
}
@override
run() {
print('小猫在跑~~');
}
sleep() {
print('小猫在睡觉~~');
}
}