(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。 (2)定义3个类:Tank,Flighter,WarShip都继承自Weapon, 分别用不同的方式实现Weapon类中的抽象方法。
时间: 2024-04-02 11:37:14 浏览: 10
好的,下面是代码实现:
```python
from abc import ABC, abstractmethod
# 定义抽象类 Weapon
class Weapon(ABC):
@abstractmethod
def attack(self):
pass
@abstractmethod
def move(self):
pass
# 定义 Tank 类,继承 Weapon 抽象类
class Tank(Weapon):
def attack(self):
print("坦克攻击方式:发射炮弹")
def move(self):
print("坦克移动方式:履带行驶")
# 定义 Flighter 类,继承 Weapon 抽象类
class Flighter(Weapon):
def attack(self):
print("战斗机攻击方式:发射导弹")
def move(self):
print("战斗机移动方式:飞行")
# 定义 WarShip 类,继承 Weapon 抽象类
class WarShip(Weapon):
def attack(self):
print("军舰攻击方式:发射鱼雷")
def move(self):
print("军舰移动方式:航行")
```
以上就是根据你的要求所编写的代码。其中,我们定义了一个抽象类 Weapon,它包含了两个抽象方法 attack() 和 move(),分别表示武器的攻击方式和移动方式。然后,我们分别定义了三个类 Tank、Flighter 和 WarShip,它们都继承自 Weapon 抽象类,并且实现了 Weapon 类中的抽象方法。其中,Tank 类的攻击方式是发射炮弹,移动方式是履带行驶;Flighter 类的攻击方式是发射导弹,移动方式是飞行;WarShip 类的攻击方式是发射鱼雷,移动方式是航行。