2.现在个电子宠物系统,父类Pet,子类Dog和Penguin,要求子类继承父类,并重写父类方法,并 打印宠物信息。
时间: 2024-10-26 11:16:53 浏览: 46
在设计这样一个电子宠物系统中,你可以创建一个名为`Pet`的父类,它包含一些通用的方法和属性,比如`name`、`sound`等。然后,有两个子类`Dog`和`Penguin`,它们分别代表狗和企鹅。
```java
// 父类Pet
public class Pet {
protected String name;
public Pet(String name) {
this.name = name;
}
// 父类的通用方法
public void printInfo() {
System.out.println("This is a pet called " + name);
}
// 可能需要重写的方法,这里以简单的声音为例
public abstract String makeSound();
}
// 子类Dog
public class Dog extends Pet {
@Override
public String makeSound() {
return "Woof!";
}
public static void main(String[] args) {
Dog dog = new Dog("Rex");
dog.printInfo(); // 输出: This is a pet called Rex
System.out.println(dog.makeSound()); // 输出: Woof!
}
}
// 子类Penguin
public class Penguin extends Pet {
@Override
public String makeSound() {
return "Quack!";
}
public static void main(String[] args) {
Penguin penguin = new Penguin("Snowy");
penguin.printInfo(); // 输出: This is a pet called Snowy
System.out.println(penguin.makeSound()); // 输出: Quack!
}
}
```
在这个例子中,`Dog`和`Penguin`都继承了`Pet`并重写了`makeSound()`方法,使得每个子类可以有自己的独特行为。当打印宠物信息时,会显示子类特定的信息。这就是多态的应用,它允许我们通过父类型的引用操作子类型的实例,并根据子类特性动态地调用相应的方法。
阅读全文