创建一个AnimalShelter(动物收容所)类
时间: 2024-10-23 09:08:14 浏览: 30
创建一个`AnimalShelter`类通常是为了模拟一个可以存放不同种类动物的收容所,比如狗和猫。这个类可能会包含以下几个关键特性:
1. **抽象基类**: 如果有多种类型的动物(如Dog和Cat),我们可以定义一个抽象基类`Animal`,它包含了所有动物共有的属性(如名字、年龄等)以及行为方法(如叫声)。
```java
abstract class Animal {
private String name;
private int age;
// 构造函数
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 抽象方法,用于叫唤
public abstract void makeSound();
// 其他通用方法...
}
```
2. **具体子类**: 狗和猫有自己的子类,比如`Dog`和`Cat`,它们继承自`Animal`并实现`makeSound()`方法。
```java
class Dog extends Animal {
public Dog(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("汪汪!");
}
}
class Cat extends Animal {
public Cat(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("喵喵!");
}
}
```
3. **AnimalShelter 类**: 这个类负责存储和管理动物,可能提供添加、删除和查看动物的方法,并维护特定类型的容量限制。
```java
class AnimalShelter<T extends Animal> {
private List<T> shelter; // 使用泛型,T代表任意子类
public AnimalShelter(int capacity) {
shelter = new ArrayList<>(capacity);
}
public void addAnimal(T animal) {
if (shelter.size() < capacity) {
shelter.add(animal);
} else {
System.out.println("收容所已满,无法接纳更多动物。");
}
}
public void removeAnimal(T animalName) {
// 根据名称查找并移除动物
}
// 其他方法,如查看动物列表...
}
```
阅读全文