多态

/**
 *    多态  允许将子类类型的指针赋值给父类类型的指针,同一个函数调用会有不同的执行效果
 * 
 *    子类的实例赋值给父类的引用
 * 
 *   多态就是父类定义一个方法不去实现,让继承他的子类去实现,每个子类有不同的表现 
 *    
 * */

// 定义一个 Animal 类 要求它的子类必须包含eat方法
abstract class Animal {
  eat(); // 抽象方法

}

class Dog extends Animal {
  @override
  eat() {
    print('小狗在吃骨头');
  }

  run() {
    print('run');
  }
}

class Cat extends Animal {
  @override
  eat() {
    print('小猫在吃鱼');
  }

  run() {
    print('run');
  }
}

void main() {
  Animal d = new Dog();
  d.eat();

  Animal c = new Cat();
  c.eat();
}
posted @ 2021-07-29 20:11  13522679763-任国强  阅读(30)  评论(0)    收藏  举报