多态的使用

Posted dupeilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多态的使用相关的知识,希望对你有一定的参考价值。

2020-05-19

编写程序,模拟主人喂养宠物的场景:

定义宠物类:Cat,提供一个eat()方法表示吃。

定义宠物类:Bird,提供一个eat()方法表示吃。

定义主人类:Master,提供两个feed()方法来喂养。
该方法需要一个宠物的参数:
例如:
feed(Cat c)
feed(Bird b)

然后思考,怎么利用多态机制改良程序。尽可能改良。然后总结多态的好处。

 动物类

public class Animal {
    public void eat() {

    }
}

 

鸟类
public class Bird  extends Animal{
    @Override
    public void eat(){
        System.out.println("鸟吃小米");
    }

}

 


猫类
public class Cat extends Animal  {
    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }

}

 


主人类
public class Master {
    public void feed(Animal a){
        a.eat();
    }
}

 


测试类
public class Text {
    public static void main(String[] args) {
        Master lisi = new Master();
        Animal c = new Cat();
        lisi.feed(c);

        Animal b = new Bird();
       lisi.feed(b);
       //一般直接传递new对象 不在用"="赋值
       lisi.feed(new Bird());
    }
}

 

以上是关于多态的使用的主要内容,如果未能解决你的问题,请参考以下文章

java中封装,继承,多态,接口学习总结

多态性和动态铸造

什么是SNP(Single Nucleotide Polymorphism)?

多态的作用

什么是多态性,使用多态有什么好处?

多态的好处??