题目描述
请编码实现动物世界的继承关系:. 动物(Animal)具有属性:类别,行为: 吃(eat)、睡觉(sleep). 动物包括:兔子(Rabbit),老虎(Tiger). 这些动物吃的行为各不相同(兔子吃 草,老虎吃肉);但睡觉的行为是一致 的。
源代码
// 动物类 Animal
class Animal {
private String category;
// 构造方法
public Animal(String category) {
this.category = category;
}
// 吃的行为
public void eat() {
System.out.println(category + "正在吃东西");
}
// 睡觉的行为
public void sleep() {
System.out.println(category + "正在睡觉");
}
}
// 兔子类 Rabbit
class Rabbit extends Animal {
public Rabbit() {
super("兔子");
}
// 重写吃的行为
@Override
public void eat() {
System.out.println("兔子正在吃草");
}
}
// 老虎类 Tiger
class Tiger extends Animal {
public Tiger() {
super("老虎");
}
// 重写吃的行为
@Override
public void eat() {
System.out.println("老虎正在吃肉");
}
}
// 测试类
public class AnimalWorld {
public static void main(String[] args) {
Animal rabbit = new Rabbit();
Animal tiger = new Tiger();
rabbit.eat(); // 兔子正在吃草
rabbit.sleep(); // 兔子正在睡觉
tiger.eat(); // 老虎正在吃肉
tiger.sleep(); // 老虎正在睡觉
}
}
在上述代码中,我们首先定义了一个抽象的 Animal
类,它具有一个私有的字符串属性 category
表示动物的类别。Animal
类中定义了吃和睡觉两个行为方法,分别输出不同动物的吃和睡觉信息。
然后,我们创建了 Rabbit
类和 Tiger
类,它们都继承自 Animal
类,并分别重写了吃的行为方法。Rabbit
类中的吃方法输出兔子正在吃草的信息,而 Tiger
类中的吃方法输出老虎正在吃肉的信息。
最后,在测试类 AnimalWorld
中,我们创建了一个兔子对象和一个老虎对象,并分别调用它们的吃和睡觉方法进行测试。
运行该代码,输出结果如下:
兔子正在吃草
兔子正在睡觉
老虎正在吃肉
老虎正在睡觉
这样,我们就实现了动物世界的继承关系,不同的动物类继承自动物类,并可以根据需要重写父类的方法以实现各自特定的行为。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END