1.需求 :java编写一个宠物类Pet,属性: id,name,health,love ;重写父类toString()方法 o两个子类狗狗和猫类,狗狗有品种(strain),猫类有爱好(hobby),重写父类toString()方法 o宠物饿了,需要主人给宠物喂食,狗狗吃狗粮、猫咪吃小鱼,吃完之后健康值狗狗增加3,猫咪增加5。以及一个测试类
时间: 2024-02-24 10:00:49 浏览: 26
好的,以下是宠物类Pet的代码:
```java
public class Pet {
private int id;
private String name;
private int health;
private int love;
public Pet(int id, String name, int health, int love) {
this.id = id;
this.name = name;
this.health = health;
this.love = love;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getHealth() {
return health;
}
public int getLove() {
return love;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setHealth(int health) {
this.health = health;
}
public void setLove(int love) {
this.love = love;
}
public void eat() {
System.out.println("宠物正在吃东西");
}
@Override
public String toString() {
return "Pet{" +
"id=" + id +
", name='" + name + '\'' +
", health=" + health +
", love=" + love +
'}';
}
}
```
狗狗类Dog的代码:
```java
public class Dog extends Pet {
private String strain;
public Dog(int id, String name, int health, int love, String strain) {
super(id, name, health, love);
this.strain = strain;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
@Override
public void eat() {
System.out.println("狗狗正在吃狗粮");
this.setHealth(this.getHealth() + 3);
}
@Override
public String toString() {
return "Dog{" +
"strain='" + strain + '\'' +
"} " + super.toString();
}
}
```
猫咪类Cat的代码:
```java
public class Cat extends Pet {
private String hobby;
public Cat(int id, String name, int health, int love, String hobby) {
super(id, name, health, love);
this.hobby = hobby;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
@Override
public void eat() {
System.out.println("猫咪正在吃小鱼");
this.setHealth(this.getHealth() + 5);
}
@Override
public String toString() {
return "Cat{" +
"hobby='" + hobby + '\'' +
"} " + super.toString();
}
}
```
测试类Test的代码:
```java
public class Test {
public static void main(String[] args) {
Pet pet1 = new Dog(1, "旺财", 90, 80, "哈士奇");
Pet pet2 = new Cat(2, "小花", 80, 90, "睡觉");
System.out.println(pet1.toString());
System.out.println(pet2.toString());
pet1.eat();
pet2.eat();
System.out.println(pet1.toString());
System.out.println(pet2.toString());
}
}
```
以上代码实现了宠物类Pet以及狗狗类Dog和猫咪类Cat,其中狗狗类和猫咪类都继承了宠物类的属性和方法,实现了各自特有的属性和方法,同时重写了父类的toString()方法。测试类Test中创建了一个狗狗对象和一个猫咪对象,并且输出了它们的信息。然后分别调用它们的eat()方法,再次输出它们的信息,可以看到它们的健康值都增加了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)