主要用顺序结构和继承

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--宠物管理相关推荐

  1. JAVA宠物医院后台管理系统设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA宠物医院后台管理系统设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物医院后台管理系统设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: ...

  2. java宠物医院,基于SSM框架的JAVA宠物医院管理信息系统,源码分享

    每天记录学习,每天会有好心情.*^_^* 今天和一个朋友共同完成了一个宠物医院管理信息系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架.我这个朋友知识有限,只会这个框架,哈哈,都是为 ...

  3. java宠物医院_java宠物医院管理系统

    今天和一个朋友共同完成了一个基于java的宠物医院管理系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架.我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他.和往常一样选用简单又便 ...

  4. 计算机毕业设计Java酒店管理信息系统(源码+mysql数据库+系统+lw文档)

    计算机毕业设计Java酒店管理信息系统(源码+mysql数据库+系统+lw文档) 计算机毕业设计Java酒店管理信息系统(源码+mysql数据库+系统+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  5. JAVA宠物爱心驿站计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA宠物爱心驿站计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物爱心驿站计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  6. 基于JAVA宠物托管系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA宠物托管系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA宠物托管系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...

  7. JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  8. 计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  9. 计算机毕业设计Java宠物互助领售平台(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java宠物互助领售平台(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java宠物互助领售平台(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  10. [附源码]计算机毕业设计JAVA宠物医院管理系统

    [附源码]计算机毕业设计JAVA宠物医院管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...

最新文章

  1. PowerBuilder 11.x 的重要进步和不足
  2. Unity游戏开发技巧集锦2.1.3实现效果
  3. .NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)
  4. 菜鸟学java要多久_菜鸟学java,根本停不下来!
  5. 2.oracle物理结构,oracle实验2oracle物理结构管理
  6. Redis面试 - 集群模式
  7. Keras入门之搭建回归神经网络
  8. HTML5 header元素
  9. 查询商品信息报错FreeMark template error
  10. RabbitMQ系列笔记work模式
  11. 写地道的Python
  12. ConTeXt 文稿的逻辑结构
  13. JavaScript事件委托的技术原理
  14. springboot静态集成redis客户端
  15. Xposed 框架检测机制
  16. matlab 二元函数的极限,利用MATLAB软件求解一元和二元函数的极值
  17. ElementUI Cascader 级联选择器实现点击文本选中
  18. 有限元方法之三角形元任意阶的Lagrange型形状函数
  19. 【CC精品教程】ContextCapture(CC)集群处理环境部署图文教程
  20. Matlab(将2维图片显示成3维图形)

热门文章

  1. tomcat修改端口后启动不了(还是以8080端口启动)
  2. Camera CMOS Sensor成像原理
  3. 区块链技术如何为票务行业赋能?
  4. VC++使用开源的zip.cpp和unzip.cpp实现压缩包的创建与解压(附源码)
  5. 计算机组成原理(白中英版)绪论【思维导图】【简化知识点】
  6. 5. 扩展欧几里得算法
  7. MySQL_DML数据操纵语言_刘锋的博客
  8. Microchip公司PIC系列单片机
  9. 《SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用》
  10. 平安科技高级算法工程师瞿晓阳:云端终端双场景的AI加速研究 | 2018FMI人工智能与大数据高峰论坛(深圳站)