首页 > 分享 > JAVA面向对象 设计宠物类

JAVA面向对象 设计宠物类

需求:设计宠物类,用户可以自由选择养猫还是养狗,可以给宠物起名字,还可以实现喂食互动的功能,宠物需要有饱食度和快乐度。

宠物类【父类】:

package cn.cxy.exec;

public class Pet {

String name;

int full;

int happy;

public Pet(String name) {

this(name, 50, 50);

}

public Pet(String name,int full,int happy) {

this.name = name;

this.full = full;

this.happy = happy;

}

public void feed() {

if(full == 100) {

System.out.println(name+"已经吃饱了");

return;

}

System.out.println("给"+name+"喂食");

full += 10;

System.out.println("饱食度:"+full);

}

public void play() {

if(full == 0) {

System.out.println(name+"已经饿得玩不动了");

return;

}

System.out.println("陪"+name+"玩耍");

happy += 10;

full -= 10;

System.out.println("快乐度:"+happy);

System.out.println("饱食度:"+full);

}

public void punish() {

System.out.println(

"打"+name+"的pp,"+name+"哭叫:"+cry());

happy -= 10;

System.out.println("快乐度:"+happy);

}

public String cry() {

return "此处有哭叫声";

}

}

小猫类【子类】:

package cn.cxy.exec;

public class Cat extends Pet{

public Cat(String name, int full, int happy) {

super(name, full, happy);

}

public Cat(String name) {

super(name);

}

@Override

public String cry() {

return "喵~";

}

}

小狗类【子类】:

package cn.cxy.exec;

public class Dog extends Pet {

public Dog(String name, int full, int happy) {

super(name, full, happy);

}

public Dog(String name) {

super(name);

}

@Override

public String cry() {

return "汪~";

}

}

测试类:

package cn.cxy.exec;

import java.util.Random;

import java.util.Scanner;

public class TestPet {

public static void main(String[] args) {

System.out.println("1. 狗");

System.out.println("2. 猫");

System.out.print("选择:> ");

int c = new Scanner(System.in).nextInt();

System.out.print("给宠物起个名字:");

String n = new Scanner(System.in).nextLine();

Dog dog = null;

Cat cat = null;

if(c == 1) {

dog = new Dog(n);

play(dog);

} else {

cat = new Cat(n);

play(cat);

}

}

private static void play(Dog dog) {

System.out.println("按回车执行");

while(true) {

new Scanner(System.in).nextLine();

int r = new Random().nextInt(6);

switch(r) {

case 0: dog.feed(); break;

case 1: dog.play(); break;

default: dog.punish(); break;

}

}

}

private static void play(Cat cat) {

System.out.println("按回车执行");

while(true) {

new Scanner(System.in).nextLine();

int r = new Random().nextInt(6);

switch(r) {

case 0: cat.feed(); break;

case 1: cat.play(); break;

default: cat.punish(); break;

}

}

}

}

相关知识

Java面向对象
JAVA面向对象编程——学生喂养三种宠物:猫、狗和鸟
java面向对象基础案例
Python面向对象高级编程——多重继承
编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为
java宠物商店项目
Java基础 饲养员类,动物类,食物类,饲养员功能是给动物喂食物
基于java的网上宠物销售商城设计(含源文件)
使用面向对象思想设计电子宠物系统
【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致(2023.10.21)

网址: JAVA面向对象 设计宠物类 https://m.mcbbbk.com/newsview434992.html

所属分类:萌宠日常
上一篇: 大家来领养自己的桌面宠物,不收费
下一篇: Java基于java鸟类管理系统