多态

多态:同一个引用类型,使用不同的实例而执行不同操作

使用多态实现:

  • 编写父类
  • 编写子类,子类重写父类方法
  • 运行时,使用父类的类型,子类的对象
    Pet pet = new Dog();

使用父类作为方法形参实现多态

public class Master {
//使用父类作为方法形参 
    public void feed( Pet pet ) {
           pet.eat();         
    }
}

Main方法改变:

Pet pet = new Dog();
Master master = new Master();
master.feed( pet );//同一种操作方式,不同的操作对象 

一旦使用多态,就要面对多个对象

Pet[] pets = new Pet[12];
pets[0] = new Penguin("QQ");
pets[1] = new Dog("小黑");
for (Pet pet : pets){
    pet.eat();
}

你可能感兴趣的:(多态)