使用多态实现主人领养
时间: 2024-06-13 17:04:07 浏览: 10
使用多态实现主人领养宠物可以通过定义一个宠物类作为父类,然后定义不同种类的宠物类作为子类,每个子类都重写父类的方法。在领养时,主人可以根据自己的喜好选择不同种类的宠物,而不需要关心具体是哪个子类。这样就实现了多态性,提高了代码的可扩展性和可维护性。
例如,定义一个Pet类作为父类,包含属性name和age以及方法eat和play。然后定义Dog类和Cat类作为子类,分别重写eat和play方法。在领养时,主人可以通过Pet类型的变量来引用Dog或Cat类型的对象,实现多态性。
代码示例:
```
class Pet {
private String name;
private int age;
public Pet(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() {
System.out.println(name + " is eating.");
}
public void play() {
System.out.println(name + " is playing.");
}
}
class Dog extends Pet {
public Dog(String name, int age) {
super(name, age);
}
public void eat() {
System.out.println("Dog " + super.name + " is eating.");
}
public void play() {
System.out.println("Dog " + super.name + " is playing.");
}
}
class Cat extends Pet {
public Cat(String name, int age) {
super(name, age);
}
public void eat() {
System.out.println("Cat " + super.name + " is eating.");
}
public void play() {
System.out.println("Cat " + super.name + " is playing.");
}
}
public class Main {
public static void main(String[] args) {
Pet pet1 = new Dog("Tom",3);
Pet pet2 = new Cat("Jerry", 2);
pet1.eat();
pet2.play();
}
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)