抽象类实现宠物管理

通过抽象类,抽象方法实现
宠物类 属性(昵称(String) 健康值(int) 亲密度(int)),方法(吃饭,输出宠物信息),
狗狗 属性:(品种)方法(吃饭,玩飞盘)和企鹅 属性:(性别) 方法(吃饭,游泳)的父类
创建管理员类,主人领养宠物通过键盘输入数字领养宠物(1、狗狗 2、企鹅)
并实现给庞物喂食(创建喂食方法)和主人与庞物玩耍(创建玩耍方法)
其中,每次喂食健康值不能超过100(吃饱),不足100每次喂养加5,
与宠物玩耍健康值减5,亲密度加3,
//宠物类 属性(昵称(String) 健康值(int) 亲密度(int)),方法(吃饭,输出宠物信息)

abstract class Pet{
//	属性(昵称(String) 健康值(int) 亲密度(int))
	private String name;
	private int health;
	private int init;
	final static int HEA=5;
	final static int INIT=3;
	public Pet(String name, int health, int init) {
		super();
		this.name = name;
		this.health = health;
		this.init = init;
	}	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getHealth() {
		return health;
	}
	public void setHealth(int health) {
		this.health = health;
	}
	public int getInit() {
		return init;
	}
	public void setInit(int init) {
		this.init = init;
	}
	abstract public void eat();
	abstract public void show();
}
//狗狗 属性:(品种)方法(吃饭,玩飞盘)
class Dog extends Pet{
	String var;
	public Dog(String name,int health,int init,String var) {
		super(name,health,init);
		this.var = var;
	}
	public void eat() {
		 System.out.println("喜欢吃狗粮!");
	 }
	public void play() {
		System.out.println("喜欢玩飞盘!");
	}
	 public void show() {
		 System.out.println("宠物信息为:"+"\n姓名:"+getName()+"品种等级:"+var+"\n健康值:"+getHealth()+"\n亲密度:"+getInit());
		 eat();
		 play();
	 }
}
//企鹅 属性:(性别) 方法(吃饭,游泳)的父类
class Penguin extends Pet{
	private String var;
	public Penguin(String name,int health,int init,String var) {
		super(name,health,init);
		this.var = var;
	}
	
	public String getVar() {
		return var;
	}

	public void setVar(String var) {
		this.var = var;
	}

	public void eat() {
		 System.out.println("喜欢吃鱼!");
	 }
	public void play() {
		System.out.println("喜欢游泳!");
	}
	 public void show() {
		 System.out.println("宠物信息为:"+"\n姓名:"+getName()+"品种等级:"+var+"\n健康值:"+getHealth()+"\n亲密度:"+getInit());
		 eat();
		 play();
	 }
}
//创建管理员类
class Administ extends Pet{
	Dog d=new Dog("小猪",40,70,"A");
	Penguin p=new Penguin("小猪",40,70,"A");
	public Administ(String name, int health, int init) {
		super(name, health, init);
	}
//	主人领养宠物通过键盘输入数字领养宠物(1、狗狗 2、企鹅)
	public void adopt() {
		Scanner input=new Scanner(System.in);
		System.out.println("请主人通过键盘输入数字领养宠物(1、狗狗 2、企鹅)");
		int a=input.nextInt();
		if(a==1) {
			System.out.println("恭喜您成功领养A级宠物狗:"+getName());
			d.show();
			Scanner i=new Scanner(System.in);
			System.out.println("是否改名(1、是 2、否)");
			int b=i.nextInt();
			if(b==1) {
				Scanner n=new Scanner(System.in);
				System.out.println("请输入姓名:");
				String c=i.next();
				setName(c);
				System.out.println("您的宠物成功改名为:"+getName());
			}
		}else if(a==2){
			System.out.println("恭喜您成功领养A级宠物企鹅:"+getName());
			p.show();
			Scanner i=new Scanner(System.in);
			System.out.println("是否改名(1、是 2、否)");
			int b=i.nextInt();
			if(b==1) {
				Scanner n=new Scanner(System.in);
				System.out.println("请输入姓名:");
				String c=i.next();
				setName(c);
				System.out.println("您的宠物成功改名为:"+getName());
			}
		}else {
			System.out.println("选择出错!");
		}
	}
	public void eat() {
		if(getHealth()==100) {
			System.out.println("您的宠物十分健康,请勿重复投食!");
		}else if(getHealth()>=0&&getHealth()<100) {
			System.out.println("您的宠物处于饥饿状态,请输入投食次数");
			Scanner input=new Scanner(System.in);
			int a=input.nextInt();
			for(int i=0;i<a;i++) {
				if(getHealth()<100) {
					setHealth(getHealth()+HEA);
					System.out.println(getHealth());
				}else {
					System.out.println("您的宠物已经满状态!");
					break;
				}
			}
		}else if(getHealth()<0) {
			System.out.println("您的宠物已经被你玩死了");
		}
	}
	public void play() {
		if(getInit()==100) {
			System.out.println("您与宠物亲密度已满!");
		}else if(getInit()>=0&&getInit()<100) {
			System.out.println("您的宠物处于无聊状态,请输入玩耍次数:");
			Scanner input=new Scanner(System.in);
			int a=input.nextInt();
			for(int i=0;i<a;i++) {
				if(getInit()<100) {
					if(getHealth()>0) {
					setInit(getInit()+INIT);
					setHealth(getHealth()-HEA);
					System.out.println("亲密度:"+getInit());
					System.out.println("健康值:"+getHealth());
					}else {
						System.out.println("您的宠物极度疲劳,自动停止游戏!");
						break;
					}
				}else {
					System.out.println("您的宠物亲密度已满,自动停止游戏!");
					break;
				}
			}
		}else if(getInit()<0) {
			System.out.println("您的宠物已经离开您了");
		}
	}
	public void show() {
		System.out.println("您当前宠物信息:"+"健康值:"+getHealth()+"亲密度:"+getInit());
	}
}
public class WorkPet {
	public static void main(String[] args) {
		Administ a=new Administ("小猪",40,70);
		a.adopt();
		a.eat();
		a.play();
		a.show();
	}
}
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl·杰尼龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值