java编写给宠物看病的程序(要求用多态实现)。(20分)要求: (1) Dog类:看病的顺序是先“打针”,再“吃药”;健康状态为60; (2) Cat类:看病的顺序为先“吃药”,再“疗养”;健康状态为80; (3) Pig类:看病的顺序为先“打针”,再“疗养”;健康状态为70; (4) Master类:负责给宠物看病,当宠物健康状态小于50时需要给宠物看病; (5) 测试类:创建一个主任对象,分别给小狗、小猫、小猪看病。
时间: 2023-02-06 10:20:35 浏览: 144
首先,我们需要定义一个抽象类 Pet,其中包含两个方法:
```
abstract class Pet {
int health;
abstract void treat();
abstract void takeMedicine();
}
```
然后,我们可以分别定义 Dog、Cat、Pig 三个类,分别继承 Pet 类:
```
class Dog extends Pet {
public Dog() {
health = 60;
}
@Override
void treat() {
System.out.println("打针");
}
@Override
void takeMedicine() {
System.out.println("吃药");
}
}
class Cat extends Pet {
public Cat() {
health = 80;
}
@Override
void treat() {
System.out.println("疗养");
}
@Override
void takeMedicine() {
System.out.println("吃药");
}
}
class Pig extends Pet {
public Pig() {
health = 70;
}
@Override
void treat() {
System.out.println("疗养");
}
@Override
void takeMedicine() {
System.out.println("打针");
}
}
```
接着,我们可以定义 Master 类,其中包含一个方法用于给宠物看病:
```
class Master {
void treatPet(Pet pet) {
if (pet.health < 50) {
pet.treat();
pet.takeMedicine();
}
}
}
```
最后,我们可以在测试类中创建 Master 对象,分别给小狗、小猫、小猪看病:
```
public class Test {
public static void main(String[] args) {
Master master = new Master();
Pet dog = new Dog();
Pet cat = new Cat();
Pet pig = new Pig();
master.treatPet(dog);
master.treatPet(cat);
master.treatPet(pig);
}
}
```
在运行时,输出结果如下:
```
打针
吃药
吃药
疗养
打针
疗养
```
希望这些代码能帮助
阅读全文