多态的使用
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()); } }
以上是关于多态的使用的主要内容,如果未能解决你的问题,请参考以下文章