//polymorphism_sample.dart文件
void main() {
//子类Dog实例化并调用方法
Dog d = Dog();
d.eat();
d.run();
//子类Cat实例化并调用方法
Cat c = Cat();
c.eat();
c.run();
//声明成Animal类型 实例化为Dog类对象
Animal animalDog = Dog();
//调用eat方法体现多态性
animalDog.eat();
//声明成Animal类型 实例化为Cat类对象
Animal animalCat = Cat();
//调用eat方法体现多态性
animalCat.eat();
}
//动物类
class Animal {
//父类方法
void eat(){
print("动物会吃");
}
//父类方法
void run(){
print("动物会跑");
}
}
//狗类继承自动物类
class Dog extends Animal {
//重写父类函数体现多态性
@override
void eat() {
print('小狗在啃骨头');
}
//重写父类函数体现多态性
@override
void run() {
print('小狗在遛弯');
}
void printInfo() {
print('我是小狗');
}
}
//猫类继承自动物类
class Cat extends Animal {
//重写父类方法体现多态性
@override
void eat() {
print('小猫在吃鱼');
}
//重写父类方法体现多态性
@override
void run() {
print('小猫在散步');
}
void printInfo() {
print('我是小猫咪');
}
}
'