标签:bsp 多态 static 利用 cat animal ast class 测试
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()); } }
标签:bsp 多态 static 利用 cat animal ast class 测试
原文地址:https://www.cnblogs.com/dupeilin/p/12915916.html