通过多态实现主人喂养各种宠物。宠物饿了,需要主人给宠物喂食,不同宠物吃的
东西不一样,通过多态实现主人可以统一喂食。宠物有:Dog,狗在吃骨头;Cat,猫
在吃鱼;Bird,鸟在吃虫子
以下是java多态的示例代码实现主人喂养各种宠物:
//定义宠物类
public abstract class Pet {
public abstract void feed(); //喂食方法
}
//定义狗类,继承宠物类
public class Dog extends Pet {
public void feed() {
System.out.println("狗正在吃骨头");
}
}
//定义猫类,继承宠物类
public class Cat extends Pet {
public void feed() {
System.out.println("猫正在吃鱼");
}
}
//定义鸟类,继承宠物类
public class Bird extends Pet {
public void feed() {
System.out.println("鸟正在吃虫子");
}
}
//定义主人类
public class Master {
public void feed(Pet pet) { // 宠物作为参数
pet.feed(); // 执行不同宠物的喂养方法
}
}
//测试类
public class PetTest {
public static void main(String[] args) {
Master master = new Master(); // 实例化主人对象
Dog dog = new Dog(); // 实例化狗对象
Cat cat = new Cat(); // 实例化猫对象
Bird bird = new Bird(); // 实例化鸟对象
master.feed(dog); // 主人喂养狗
master.feed(cat); // 主人喂养猫
master.feed(bird); // 主人喂养鸟
}
}
在上面的代码中,定义了一个Pet(宠物)抽象类,狗、猫、鸟都继承了这个抽象类,并实现了每个宠物吃东西的具体方法。主人类中定义了一个feed(喂养)方法,这个方法接收Pet类型的对象,通过多态,可以在运行时动态地确定每个宠物具体执行的喂养方法。在测试类中,实例化了主人和三种宠物对象,通过调用主人喂养方法,实现了主人喂养不同宠物的功能。