Java宠物喂食:
设计主人给多个宠物喂食,要求通过对象多态性完成主人类喂食方法的灵活调用。
(1)宠物要设计成模板并给出“吃”的抽象方法
(2)设计相应的多个具体动物类(至少两个)为宠物类的子类
(3)设计主人类,在主人类中增加“喂食”的方法,具体喂食的是哪种宠物由具体调用来实现。
(4)增加测试类对程序进行测试。
并且要求:1.抽象类及接口设计要求
2.子类对接口的实现
3.由子类实例化父类对象
4.向下转型的要求及instanceof 运算符
以下是Java程序的实现,实现了上述所有要求:
宠物类 Pet.java:
public abstract class Pet {
private String name;
private int age;
public Pet(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void eat();
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
具体动物类 Cat.java 和 Dog.java,都继承自宠物类:
public class Cat extends Pet {
public Cat(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("猫咪正在吃饭");
}
}
public class Dog extends Pet {
public Dog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("小狗正在吃饭");
}
}
主人类 Master.java,可以喂食任何宠物:
public class Master {
public void feed(Pet pet) {
System.out.println("主人正在喂食 " + pet.getName());
pet.eat();
}
}
测试类 Test.java,可以实例化主人和多个宠物,并测试喂食功能:
public class Test {
public static void main(String[] args) {
Master master = new Master();
Pet cat = new Cat("小花", 2);
Pet dog = new Dog("小黑", 3);
master.feed(cat);
master.feed(dog);
if (cat instanceof Cat) {
Cat c = (Cat) cat;
System.out.println(c.getName() + " 是只猫咪");
}
if (dog instanceof Dog) {
Dog d = (Dog) dog;
System.out.println(d.getName() + " 是只小狗");
}
}
}
程序输出:
主人正在喂食 小花 猫咪正在吃饭 主人正在喂食 小黑 小狗正在吃饭 小花 是只猫咪 小黑 是只小狗
相关知识
电子宠物游戏java
用java写的小宠物游戏
java任务项目——学生喂养三种宠物:猫、狗、鸟
专业java:void($={0})java:void($={0})java:void(LOGO设计免费生成器
Java基于JAVA语言的宠物寄养管理(开题+源码)
编写Java程序模拟主人养宠物 java写一个宠物系统
【Java项目】java实战宠物领养系统项目
【附源码】java毕业设计同城上门喂遛宠物预约系统
基于java的宠物管理系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
java毕业设计小区宠物管理平台(springboot+mysql+jdk1.8+meven)
网址: Java宠物喂食: https://www.mcbbbk.com/newsview147496.html
上一篇: 鸟儿知识讲座.pptx |
下一篇: python+flask+vue |
推荐分享

- 1我的狗老公李淑敏33——如何 5096
- 2南京宠物粮食薄荷饼宠物食品包 4363
- 3家养水獭多少钱一只正常 3825
- 4豆柴犬为什么不建议养?可爱的 3668
- 5自制狗狗辅食:棉花面纱犬的美 3615
- 6狗交配为什么会锁住?从狗狗生 3601
- 7广州哪里卖宠物猫狗的选择性多 3535
- 8湖南隆飞尔动物药业有限公司宠 3477
- 9黄金蟒的价格 3396
- 10益和 MATCHWELL 狗 3352