编写鸟接口,接口中有一个叫iao,在编写一个羊和猫的类去实现这个鸟类的接口,最后写一个haohao类测试羊类和猫类
时间: 2023-08-18 10:08:46 浏览: 102
好的,下面是一个包含 `iao` 方法的鸟接口及其两个实现类的示例代码:
```python
from abc import ABC, abstractmethod
class Bird(ABC):
@abstractmethod
def iao(self):
pass
class Sheep(Bird):
def iao(self):
print("I am a sheep and I say 'mie'.")
class Cat(Bird):
def iao(self):
print("I am a cat and I say 'miao'.")
class Haohao:
def __init__(self, animal):
self.animal = animal
def iao(self):
self.animal.iao()
```
在这个示例代码中,`Bird` 接口包含一个 `iao` 方法,并且 `Sheep` 和 `Cat` 类都实现了这个接口。`Haohao` 类是一个测试类,它接受一个 `animal` 参数,并在 `iao` 方法中调用 `animal` 的 `iao` 方法。
现在我们可以使用这些类来创建一些对象并测试它们:
```python
>>> sheep = Sheep()
>>> cat = Cat()
>>> h1 = Haohao(sheep)
>>> h2 = Haohao(cat)
>>> h1.iao()
I am a sheep and I say 'mie'.
>>> h2.iao()
I am a cat and I say 'miao'.
```
在这个例子中,我们创建了两个 `Haohao` 对象,分别传入了一个 `Sheep` 和一个 `Cat` 对象作为参数。当我们调用 `h1.iao()` 方法时,它会调用 `sheep.iao()` 方法,输出 `"I am a sheep and I say 'mie'."`。当我们调用 `h2.iao()` 方法时,它会调用 `cat.iao()` 方法,输出 `"I am a cat and I say 'miao'."`。
希望这个示例代码能够帮到你!
阅读全文