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("买了一只猫");        }    }}

总结