Java--宠物管理
主要用顺序结构和继承
Dog类
package com.java.work;//描述狗
public class Dog extends Pet {//属性(封装:private私有化,不允许随便设值(get&set))private String types;public String getTypes() {return types;}public void setTypes(String types) {this.types = types;}//方法public void introduce(){System.out.println("我的名字叫:"+this.getName()+",我的健康值是:"+this.getHealth()+",我和主人的亲密度是:"+this.getLove()+",我的类型是:"+this.types);}public Dog(String name, int health, String types) {super(name, health);this.types = types;}public Dog() {super();// TODO Auto-generated constructor stub}@Overridepublic void eatFood() {// TODO Auto-generated method stubSystem.out.println("狗狗"+this.getName()+"正在吃狗粮,健康值+5");this.setHealth(this.getHealth()+5);}@Overridepublic void playWithOwner() {// TODO Auto-generated method stubSystem.out.println("狗狗"+this.getName()+"和主人玩接飞盘游戏,健康值-10,亲密度+5");this.setHealth(this.getHealth()-10);this.setLove(this.getLove()+5);}@Overridepublic void jiao() {// TODO Auto-generated method stubSystem.out.println("狗狗"+this.getName()+"汪汪叫");}}
Panda类
package com.java.work;public class Panda extends Pet {private double weight;public double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public void introduce(){System.out.println("我的名字叫:"+this.getName()+",我的健康值是:"+this.getHealth()+",我和主人的亲密度是:"+this.getLove()+",我的体重是:"+this.weight);}public Panda(String name, int health, double weight) {super(name, health);this.weight = weight;}public Panda() {super();// TODO Auto-generated constructor stub}@Overridepublic void eatFood() {// TODO Auto-generated method stubSystem.out.println("熊猫"+this.getName()+"正在竹子,健康值+5");this.setHealth(this.getHealth()+5);}@Overridepublic void playWithOwner() {// TODO Auto-generated method stubSystem.out.println("熊猫"+this.getName()+"和主人玩接飞盘游戏,健康值-10,亲密度+5");this.setHealth(this.getHealth()-5);this.setLove(this.getLove()+10);}@Overridepublic void jiao() {// TODO Auto-generated method stub}}
Penguin类
package com.java.work;public class Penguin extends Pet {private String gender;public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}//方法public void introduce(){System.out.println("我的名字叫:"+this.getName()+",我的健康值是:"+this.getHealth()+",我和主人的亲密度是:"+this.getLove()+",我的性别是:"+this.gender);}public Penguin(String name, int health, String gender) {super(name, health);this.gender = gender;}public Penguin() {super();// TODO Auto-generated constructor stub}@Overridepublic void eatFood() {// TODO Auto-generated method stubSystem.out.println("企鹅"+this.getName()+"正在吃鱼,健康值+5");this.setHealth(this.getHealth()+5);}@Overridepublic void playWithOwner() {// TODO Auto-generated method stubSystem.out.println("企鹅"+this.getName()+"和主人玩游泳游戏,健康值-10,亲密度+5");this.setHealth(this.getHealth()-10);this.setLove(this.getLove()+5);}@Overridepublic void jiao() {// TODO Auto-generated method stub}}
Pet类
package com.java.work;//抽象方法:没有方法体的方法(不要括号)
//关键字abstract 抽象类
//一旦父类变为抽象类,那么子类就必须重写父类中的抽象方法
//抽象类不能实例化,给子类作为继承的模板
//继承:extends 重写:子类调用用this.getName()方法
//Java中所有类都是object,单一继承具有传递性
//有抽象方法的类一定是抽象类,抽象类不一定含有抽象方法
public abstract class Pet {private String name;private int health;private int love;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHealth() {return health;}public void setHealth(int health) {if(health>=1&&health<=100){this.health = health;}else{System.out.println("宠物的健康值为1-100,默认为60");this.health=60;}}public int getLove() {return love;}public void setLove(int love) {this.love = love;}public void introduce(){System.out.println("我的名字叫:"+this.name+",我的健康值是:"+this.health+",我和主人的亲密度是:"+this.love);}//抽象方法:没有方法体的方法(不要花括号)//关键字abstract 抽象类//一旦父类变为抽象类,那么子类就必须重写父类中的抽象方法public abstract void eatFood();public abstract void playWithOwner();public abstract void jiao();public Pet(String name, int health) {super();this.name = name;this.health = health;this.love = 20;}public Pet() {super();this.love=20;// TODO Auto-generated constructor stub}}
Test类
package com.java.work;import java.util.Scanner;//多态//继承实现的多态:必须有继承、// 必须有子类对象获取父类引用、// 必须有父类引用调用子类的重写方法public class Test {static Scanner sc=new Scanner(System.in); static Pet[] ps=new Pet[10]; //保存领养的宠物static int index=0;public static void main(String[] args) {boolean flag=true;do{System.out.println("欢迎来到宠物系统");System.out.println("1.领养宠物");System.out.println("2.喂养宠物");System.out.println("3.和宠物玩耍");System.out.println("4.查看已有宠物");System.out.println("5.退出系统");int num=sc.nextInt();if(num==1){lingyang();}else if(num==2){for(int i=0;i<ps.length;i++){if(ps[i]!=null){ps[i].introduce();//多态}}System.out.println("请输入要喂养的宠物名称");String name=sc.next();for(int i=0;i<ps.length;i++){if(ps[i]!=null){if(ps[i].getName().equals(name)){ps[i].eatFood();}}}}else if(num==3){for(int i=0;i<ps.length;i++){if(ps[i]!=null){ps[i].introduce();//多态}}System.out.println("请输入要与之玩耍的宠物名称");String name=sc.next();for(int i=0;i<ps.length;i++){if(ps[i]!=null){if(ps[i].getName().equals(name)){ps[i].playWithOwner();}}}}else if(num==4){for(int i=0;i<ps.length;i++){if(ps[i]!=null){ps[i].introduce();//多态}}}else if(num==5){flag=false;System.out.println("退出系统!!!");}}while(flag);}public static void lingyang(){System.out.println("欢迎来到宠物店");System.out.print("请输入要领养的宠物名称:");String name=sc.next();System.out.print("请选择要领取的宠物类型(1:狗 2:企鹅 3:熊猫):");int id=sc.nextInt();if(id==1){Dog d=new Dog();d.setName(name);System.out.print("请选择狗狗的品种(1:拉布拉多 2:雪纳瑞):");int no=sc.nextInt();String types="";if(no==1){types="拉布拉多";}else {types="雪纳瑞";}d.setTypes(types);System.out.print("请输入宠物健康值:");int health=sc.nextInt();d.setHealth(health);d.introduce();ps[index]=d;index++;}else if(id==2) {Penguin p=new Penguin();p.setName(name);System.out.print("请选择企鹅的品种(1:雄 2:雌):");int no=sc.nextInt();String gender="";if(no==1){gender="雄";}else{gender="雌";} System.out.print("请输入宠物健康值:");int health=sc.nextInt();p.setGender(gender);p.setHealth(health);p.introduce();ps[index]=p;index++;}else if(id==3){Panda p=new Panda();p.setName(name);System.out.print("请输入熊猫的体重:");double weight=sc.nextDouble();p.setWeight(weight);System.out.print("请输入宠物健康值:");int health=sc.nextInt();p.setHealth(health);p.introduce();ps[index]=p;index++;}}
}
Java--宠物管理相关推荐
- JAVA宠物医院后台管理系统设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署
JAVA宠物医院后台管理系统设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物医院后台管理系统设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: ...
- java宠物医院,基于SSM框架的JAVA宠物医院管理信息系统,源码分享
每天记录学习,每天会有好心情.*^_^* 今天和一个朋友共同完成了一个宠物医院管理信息系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架.我这个朋友知识有限,只会这个框架,哈哈,都是为 ...
- java宠物医院_java宠物医院管理系统
今天和一个朋友共同完成了一个基于java的宠物医院管理系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架.我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他.和往常一样选用简单又便 ...
- 计算机毕业设计Java酒店管理信息系统(源码+mysql数据库+系统+lw文档)
计算机毕业设计Java酒店管理信息系统(源码+mysql数据库+系统+lw文档) 计算机毕业设计Java酒店管理信息系统(源码+mysql数据库+系统+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- JAVA宠物爱心驿站计算机毕业设计Mybatis+系统+数据库+调试部署
JAVA宠物爱心驿站计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物爱心驿站计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
- 基于JAVA宠物托管系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA宠物托管系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA宠物托管系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...
- JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- 计算机毕业设计Java宠物互助领售平台(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java宠物互助领售平台(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java宠物互助领售平台(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- [附源码]计算机毕业设计JAVA宠物医院管理系统
[附源码]计算机毕业设计JAVA宠物医院管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
最新文章
- PowerBuilder 11.x 的重要进步和不足
- Unity游戏开发技巧集锦2.1.3实现效果
- .NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)
- 菜鸟学java要多久_菜鸟学java,根本停不下来!
- 2.oracle物理结构,oracle实验2oracle物理结构管理
- Redis面试 - 集群模式
- Keras入门之搭建回归神经网络
- HTML5 header元素
- 查询商品信息报错FreeMark template error
- RabbitMQ系列笔记work模式
- 写地道的Python
- ConTeXt 文稿的逻辑结构
- JavaScript事件委托的技术原理
- springboot静态集成redis客户端
- Xposed 框架检测机制
- matlab 二元函数的极限,利用MATLAB软件求解一元和二元函数的极值
- ElementUI Cascader 级联选择器实现点击文本选中
- 有限元方法之三角形元任意阶的Lagrange型形状函数
- 【CC精品教程】ContextCapture(CC)集群处理环境部署图文教程
- Matlab(将2维图片显示成3维图形)
热门文章
- tomcat修改端口后启动不了(还是以8080端口启动)
- Camera CMOS Sensor成像原理
- 区块链技术如何为票务行业赋能?
- VC++使用开源的zip.cpp和unzip.cpp实现压缩包的创建与解压(附源码)
- 计算机组成原理(白中英版)绪论【思维导图】【简化知识点】
- 5. 扩展欧几里得算法
- MySQL_DML数据操纵语言_刘锋的博客
- Microchip公司PIC系列单片机
- 《SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用》
- 平安科技高级算法工程师瞿晓阳:云端终端双场景的AI加速研究 | 2018FMI人工智能与大数据高峰论坛(深圳站)