第十四章 多态

mac2022-06-30  31

1. 多态:同一个引用类型,使用不同的实例而执行不同的操作。       子类的对象,父类的引用;

2. 多态的实现方式:   1)使用父类作为方法形参实现多态;     子类重写父类方法     用父类接收子类对象     关键代码:     父类:public abstract void eat();     子类:public void eat(){         System.out.println("狗狗吃狗粮....");         super.setHealth(super.getHealth()+3);        }     主人类:public void feed(Pet pet){         pet.eat();       }     测试类Text:Dog d=new Dog("大黄",100,"95","大黄狗");         master.feed(d);   2)使用父类作为方法的返回值:   关键代码:     主人类:     public Pet getPet(int typeid){       Pet pet;       if(typeid==1){         pet=new Dog();       }else if(typeid==2){         pet=new Qie();       }else{         pet=new Mou();       }       return pet;     }     测试类:Pet p=master.getPet(result);       master.feed(p);

3. 如果某方法是子类特有的,那在掉用方法时,需要对父类引用进行强转;   Dog d=(Dog)pet;    instanceof的语法:对象 instanceof 类型或接口   经验:强转和instanceof一起使用   关键代码:public void play(Pet pet){         if(pet instanceof Dog){           Dog dog=(Dog)pet;           dog.catchingFlyDisc();         }else{           Qie qie=(Qie)pet;           qie.swimming();         }       }

4. 多态的优点:      多态可以减少类中代码量,可以提高代码的可扩展性和可维护性

转载于:https://www.cnblogs.com/lovel/p/6853067.html

最新回复(0)