编写snake类 除了四个成员变量age ,name,level,legth,加一个fire方法,编写HugeSnake类 除了新增两个成员变量,重写fire方法,编程实现重载
时间: 2024-09-19 13:02:31 浏览: 66
在Python中,我们可以创建一个名为`Snake`的基本类,它包含一些基本属性如年龄(age)、名称(name)、等级(level)和长度(length),以及一个默认的`fire`方法。然后我们再创建一个派生类`HugeSnake`,这个类会增加额外的成员变量,并覆盖或者重写`fire`方法。
首先,让我们定义`Snake`类:
```python
class Snake:
def __init__(self, age, name, level, length):
self.age = age
self.name = name
self.level = level
self.length = length
# 默认的fire方法,这里可以简单地打印信息
def fire(self):
print(f"{self.name} the snake is firing a simple attack.")
# 然后我们创建HugeSnake类,增加新的成员变量并重写fire方法
class HugeSnake(Snake):
def __init__(self, age, name, level, length, extra_power):
super().__init__(age, name, level, length)
self.extra_power = extra_power
# 重写fire方法,增加了额外的功能
def fire(self):
print(f"{self.name} the huge snake is using a powerful {self.extra_power}-hit attack!")
```
在这个例子中,`HugeSnake`类继承了`Snake`类,并在其构造函数中添加了一个名为`extra_power`的新成员。`fire`方法在`HugeSnake`中被重新定义,增强了原来的攻击能力,体现了多态中的方法重写。
现在你可以实例化这两种蛇并测试它们的行为:
```python
regular_snake = Snake(1, "Regular", 1, 5)
regular_snake.fire() # 输出: Regular the snake is firing a simple attack.
huge_snake = HugeSnake(2, "Huge", 2, 10, "energy blast")
huge_snake.fire() # 输出: Huge the huge snake is using a powerful energy blast! attack!
```
阅读全文