java多态实现电子宠物系统
更新时间:2022年02月24日 12:28:59 作者:꧁এ悲宸๓₯㎕
这篇文章主要为大家详细介绍了java多态实现电子宠物系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java多态实现电子宠物系统的具体代码,供大家参考,具体内容如下
效果实现:
代码实现:
1、主人类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Master {
public Pet adopt(String name){
if ("狗狗".equals(name)){
return new Dog();
}else if (name.equals("企鹅")){
return new Penguin();
}
return null;
}
public void feed(Pet pet, String food){
pet.eat(food);
}
public void play(Pet pet){
if(pet instanceof Dog){
Dog d= (Dog) pet;
d.catchDisk();
}else if(pet instanceof Penguin){
Penguin p= (Penguin) pet;
p.swimInSouth();
}
}
public Pet donate(String name){
if("狗狗".equals(name)){
return new Dog();
}else if(name.equals("企鹅")){
return new Penguin();
}
return null;
}
}
2、狗狗类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Dog extends Pet {
public void catchDisk(){
System.out.println("狗狗接飞盘!");
}
public Dog(int health) {
super(health);
}
public Dog() {
}
@Override
public void eat(String food) {
System.out.println("狗狗吃"+food+",吃饱后健康值+3");
setHealth(getHealth()+3);
}
}
3、企鹅类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Penguin extends Pet{
public void swimInSouth(){
System.out.println("企鹅在南极游泳!");
}
public Penguin(int health) {
super(health);
}
public Penguin() {
}
@Override
public void eat(String food) {
System.out.println("企鹅宝宝吃"+food+",吃完后,健康值加5");
setHealth(getHealth()+5);
}
}
4、宠物类,Pet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Pet {
private int health;
public int getHealth() {
return health;
}
public void setHealth(int health) {
this.health = health;
if(this.health>100){
this.health=100;
System.out.println("已经吃饱了,再吃就撑破了");
}
}
public Pet() {
}
public Pet(int health) {
this.health = health;
}
public void eat(String food){
System.out.println("宠物吃"+food);
}
}
5、测试类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Master master = new Master();
System.out.print("请输入您要领养的宠物:");
String dname = sc.next();
Pet p = master.adopt(dname);
System.out.print("请输入您要喂得食物:");
String dfood = sc.next();
master.feed(p,dfood);
System.out.println(p.getHealth());
master.play(p);
System.out.print("请输入您要玩的宠物:");
String pname = sc.next();
p = master.adopt(pname);
System.out.print("请输入您要喂的食物:");
String pfood = sc.next();
master.feed(p,pfood);
System.out.println(p.getHealth());
master.play(p);
System.out.print("请输入您要捐赠的宠物:");
String jname = sc.next();
Pet pet = master.donate(jname);
System.out.println();
System.out.println("您捐献的是:"+pet.getClass().getName());
}
}
补:这里测试类我是让用户在控制台输入,如果不想输入,可将测试类Test换成下面的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class TestPet {
public static void main(String[] args) {
Master m = new Master();
Pet p = m.adopt("狗狗");
m.feed(p,"大骨头");
System.out.println(p.getHealth());
m.play(p);
p = m.adopt("企鹅");
m.feed(p,"小鱼");
System.out.println(p.getHealth());
m.play(p);
Pet pet = m.donate("狗狗");
System.out.println("您捐献的是:"+pet.getClass().getName());
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
Java超详细讲解多态的调用Java轻松掌握面向对象的三大特性封装与继承和多态Java超详细讲解继承和多态的使用Java 继承与多态超详细梳理Java中的多态、抽象类和接口详解新手小白入门必学JAVA面向对象之多态Java中接口的多态详解Java多态实现原理详细梳理总结
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
原文链接:https://blog.csdn.net/weixin_44889894/article/details/111216161
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
深入理解java中的拷贝机制
这篇文章主要给大家深入介绍了java中的拷贝机制,网上关于java中拷贝的文章也很多,但觉得有必要再深的介绍下java的拷贝机制,有需要的朋友可以参考学习,下面来一起看看吧。
2017-02-02
java处理字节的常用工具类
这篇文章主要为大家详细介绍了java处理字节的常用工具类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2018-03-03
SpringCloud Gateway路由核心原理解析
本文主要介绍了SpringCloudGateway的基础构建块、工作原理以及核心原理解析,SpringCloudGateway是Spring官方基于SpringSpringBoot和ProjectReactor等技术开发的网关,旨在为微服务架构提供一种简单而有效的统一的API路由管理方式
2024-10-10
SpringBoot集成Nacos全过程
Nacos是阿里巴巴开源的项目,主要作为云原生应用的注册中心与配置中心,本文介绍Nacos的使用方法,包括依赖配置、配置文件的设置、启动类注解使用,以及如何实现配置文件的动态刷新,使用Nacos可以有效管理和刷新服务配置,无需重启应用即可更新设置
2024-09-09
Java8中接口的新特性使用指南
接口改动一下就要修改对应的实现类,为了兼容老接口,Java8新增了默认方法和静态方法,下面这篇文章主要给大家介绍了关于Java8中接口新特性的相关资料,需要的朋友可以参考下
2021-11-11
相关知识
java多态实现电子宠物系统
java特性封装、抽象、继承、多态理论
JAVA模式电子宠物系统的开发 app开发
宠物店管理系统源码解析与Java实现
多态实现主人喂养宠物
宠物游戏系统 java
多态
编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为
基于nodejs宠物寄存系统的设计与实现
通过多态实现主人喂养各种宠物
网址: java多态实现电子宠物系统 https://www.mcbbbk.com/newsview748408.html
上一篇: 第六章:接口 |
下一篇: 宠物app平台 |
推荐分享

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