面向对象-多态

    技术2023-04-08  120

    马戏团案例:1.动物们都有名字、性别、都会表演节目2.马戏团能表演节目给大家看,上台的是猴子就表演单车。

    父类-动物类:

    public class Animal { private String name; private String gender; public Animal(String name, String gender) { this.name = name; this.gender = gender; } /** * 父类方法,play可以改成抽象方法。 */ public void play(){ System.out.println("我在表演"); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }

    子类-猴子类:

    public class Money extends Animal { /** *调用父类的属性 */ public Money(String name, String gender) { super(name, gender); } /** * 子类重写父类的方法 */ @Override public void play() { System.out.println("我是猴子啊,我在骑单车"); } }

    马戏团类:

    /** * show:显示哪个动物表演 * animal.play: 父类的方法。 */ public class Circus { /** *表演节目,就看上台的是哪个动物 *父类引用指向子类对象 */ public void show(Animal animal){ animal.play(); } }

    测试类:

    public class Text { public static void main(String[] args){ //多态 Animal money=new Money("猴子","雄性"); Circus circus=new Circus(); /** * 这句话显示是哪个动物在表演。 * 猴子在表演。 */ circus.show(money); /** * animal只能调用猴子重写的父类方法,不能调用子类独有的方法。 * 调用猴子的方法。 */ money.play(); } }
    Processed: 0.013, SQL: 9