定义Pet类和它的两个子类Cat和Dog。 在Pet类中定义名字属性name(类型String)、亲密度属性intimacy(类型int)和Pet数组myPet (大小为10, 用于存储用户已有的宠...
时间: 2023-06-13 18:08:21 浏览: 147
以下是Java代码实现:
```java
public class Pet {
private String name;
private int intimacy;
private Pet[] myPet;
public Pet(String name, int intimacy) {
this.name = name;
this.intimacy = intimacy;
this.myPet = new Pet[10];
}
public String getName() {
return name;
}
public int getIntimacy() {
return intimacy;
}
public void addPet(Pet pet) {
for (int i = 0; i < myPet.length; i++) {
if (myPet[i] == null) {
myPet[i] = pet;
break;
}
}
}
}
public class Cat extends Pet {
private String color;
public Cat(String name, int intimacy, String color) {
super(name, intimacy);
this.color = color;
}
public String getColor() {
return color;
}
}
public class Dog extends Pet {
private String breed;
public Dog(String name, int intimacy, String breed) {
super(name, intimacy);
this.breed = breed;
}
public String getBreed() {
return breed;
}
}
```
在上面的代码中,Pet类有一个名字属性name、一个亲密度属性intimacy和一个Pet数组myPet,大小为10,用于存储用户已有的宠物。它还有一个构造函数,接受名字和亲密度作为参数,并初始化myPet数组。它还有一个addPet方法,用于将一个新的宠物添加到myPet数组中。
Cat和Dog类分别继承自Pet类,并添加了各自的属性。在这个例子中,Cat类有一个颜色属性color,Dog类有一个品种属性breed。这两个子类都有一个构造函数,接受名字、亲密度和它们自己的属性作为参数,并调用了它们的父类Pet的构造函数。
阅读全文