/*
编写程序模拟“主人”喂养“宠物”的场景:
(这里我们首先来体验一下没有"宠物类"Pet的情况,也就是没有继承和多态的情况如何编程如何扩展)
提示1:
主人类:Master
宠物类:Pet
宠物类子类:Dog、Cat、YingWu
提示2:
主人应该有喂养的方法:feed()
宠物应该有吃的方法:eat()
只要主人喂宠物,宠物就吃。
要求:主人类中只提供一个喂养方法feed(),要求达到可以喂养各种类型的宠物。
编写测试程序:
创建主人对象
创建各种宠物对象
调用主人的喂养方法feed(),喂养不同的宠物,观察执行结果。
通过该案例,理解多态在开发中的作用。
重要提示:feed方法是否需要一个参数,参数选什么类型!!!
*/
public class Test01 {
public static void main(String[] args) {
//创建一个主人对象
Master zs = new Master();
//创建一个Dog对象
Dog dog = new Dog();
//主人喂养狗狗
zs.feed(dog);
//创建一个Cat对象
Cat cat = new Cat();
//主人喂养猫咪
zs.feed(cat);
//创建一个鹦鹉对象
YingWu yingWu = new YingWu();
//主人喂养鹦鹉
zs.feed(yingWu);
}
}
//主人类
class Master{
//主人类中有一个喂养狗狗的方法
public void feed(Dog dog){
dog.eat();
}
//分析:一段时间以后主人又多了新的兴趣爱好,喜欢宠物猫咪了,这也就等同于客户有了新的需求,我们作为程序员就需要满足顾客的需求
// 需要增加一个Cat类,同时需要在主人类中增加一个喂养宠物猫咪的方法
public void feed(Cat cat){
cat.eat();
}
//一段时间以后客户又增加了新的爱好,喜欢鹦鹉这个宠物了,我们作为程序员就需要增加一个鹦鹉类,并在主人类中增加一个喂养鹦鹉的方法
public void feed(YingWu yingWu){
yingWu.eat();
}
}
//Dog类
class Dog{
//提供一个吃的方法
public void eat(){
System.out.println("狗狗正在吃骨头");
}
}
//Cat类
class Cat{
//提供一个吃的方法
public void eat(){
System.out.println("猫咪正在吃鱼");
}
}
//鹦鹉类
class YingWu{
//提供一个吃的方法
public void eat(){
System.out.println("鹦鹉正在吃瓜子");
}
}
编写程序模拟“主人”喂养“宠物”的场景
于 2022-11-22 09:42:03 首次发布