Object
总结
多态
定义
对于同一指令,不同对象给予不同的反馈(不同的办法实现)
标准:(多态实现的前提)
1、必须要有继承关系
2、子类办法必须重写父类的办法
3、父类援用指向子类对象
目标
为了进步代码的扩展性和维护性
不便代码逻辑的编写
实现
父类 Pet
package com.msbline.oop.polymorphic;public abstract class Pet { public abstract void feed();}
子类 Dog
package com.msbline.oop.polymorphic;public class Dog extends Pet{ @Override public void feed() { System.out.println("狗在吃骨头"); }}
子类 Cat
package com.msbline.oop.polymorphic;public class Cat extends Pet{ @Override public void feed() { System.out.println("猫在吃鱼"); }}
测试 Person
package com.msbline.oop.polymorphic;public class Person { public void feed(Pet pet){ pet.feed(); } public Pet buy(int type){ if(type == 1){ return new Dog(); }else{ return new Cat(); } } public static void main(String[] args) { Person p = new Person(); Pet dog = new Dog(); Pet cat = new Cat(); p.feed(dog); p.feed(cat); Pet buyPet = p.buy(1); if(buyPet instanceof Dog){ System.out.println("买了一只狗"); } else if(buyPet instanceof Cat) { System.out.println("买了一只猫"); } }}