设计程序实现实现类、对象、继承、抽象类及接口应用
时间: 2023-09-30 21:03:43 浏览: 52
好的,以下是一个简单的示例程序,演示了类、对象、继承、抽象类和接口的应用:
```python
# 定义一个动物类
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def speak(self):
pass
# 定义一个狗类,继承自动物类
class Dog(Animal):
def __init__(self, name, age):
super().__init__(name, age)
def speak(self):
return "汪汪!"
# 定义一个猫类,继承自动物类
class Cat(Animal):
def __init__(self, name, age):
super().__init__(name, age)
def speak(self):
return "喵喵!"
# 定义一个抽象类,表示可以飞的动物
from abc import ABC, abstractmethod
class FlyingAnimal(ABC):
@abstractmethod
def fly(self):
pass
# 定义一个鸟类,继承自动物类和飞行动物类
class Bird(Animal, FlyingAnimal):
def __init__(self, name, age):
super().__init__(name, age)
def speak(self):
return "叽叽喳喳!"
def fly(self):
return "我正在飞行!"
# 定义一个接口,表示可以游泳的动物
class SwimmingAnimal:
def swim(self):
pass
# 定义一个鱼类,实现了游泳动物接口
class Fish(Animal, SwimmingAnimal):
def __init__(self, name, age):
super().__init__(name, age)
def speak(self):
return "没有声音!"
def swim(self):
return "我正在游泳!"
# 创建对象并调用方法
dog = Dog("小狗", 3)
print(dog.name, dog.age, dog.speak())
cat = Cat("小猫", 2)
print(cat.name, cat.age, cat.speak())
bird = Bird("小鸟", 1)
print(bird.name, bird.age, bird.speak(), bird.fly())
fish = Fish("小鱼", 1)
print(fish.name, fish.age, fish.speak(), fish.swim())
```
输出结果如下:
```
小狗 3 汪汪!
小猫 2 喵喵!
小鸟 1 叽叽喳喳! 我正在飞行!
小鱼 1 没有声音! 我正在游泳!
```
在这个示例程序中,我们定义了一个动物类,然后派生出狗类、猫类和鸟类,它们都继承了动物类,并重写了 speak 方法。同时,我们定义了一个抽象类 FlyingAnimal,表示可以飞的动物,然后定义了一个鸟类,继承了动物类和 FlyingAnimal 抽象类,并实现了 fly 方法。最后,我们定义了一个接口 SwimmingAnimal,表示可以游泳的动物,然后定义了一个鱼类,继承了动物类并实现了 SwimmingAnimal 接口的 swim 方法。在程序中,我们创建了各种对象,并调用了它们的方法来展示它们的特性。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)