定义一个宠物类来存储宠物的名字、年龄和体重。添加适当的构造函数, 访问函数和赋值函数。还要定义一个名为getLifespan的函数,它返回一个 值为“未知寿命”的字符串。 接下来,定义一个派生自Pet的Dog类。Dog类应该有一个private 名为breed的成员变量,存储狗的品种。添加mutator和accessor 函数的品种变量和适当的构造函数。重新定义 如果狗的体重超过100,getLifespan函数返回“大约7年” 如果狗的体重在100磅以下,则为“大约13年”。 接下来,定义一个从Pet派生的Rock类。重新定义getLifespan函数 返回“千年”。 最后,编写一个测试程序,创建宠物石头和宠物狗的实例来练习 继承和重新定义的函数。
时间: 2024-03-25 20:36:30 浏览: 87
以下是实现上述要求的代码:
```python
class Pet:
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.weight = weight
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_weight(self):
return self.weight
def set_name(self, name):
self.name = name
def set_age(self, age):
self.age = age
def set_weight(self, weight):
self.weight = weight
def get_lifespan(self):
return "未知寿命"
class Dog(Pet):
def __init__(self, name, age, weight, breed):
super().__init__(name, age, weight)
self.breed = breed
def get_breed(self):
return self.breed
def set_breed(self, breed):
self.breed = breed
def get_lifespan(self):
if self.weight > 100:
return "大约7年"
else:
return "大约13年"
class Rock(Pet):
def get_lifespan(self):
return "千年"
# 测试程序
my_dog = Dog("小白", 3, 50, "金毛")
print("我的狗的名字是", my_dog.get_name())
print("我的狗的品种是", my_dog.get_breed())
print("我的狗的寿命是", my_dog.get_lifespan())
my_rock = Rock("小石头", 1000, 10)
print("我的石头的名字是", my_rock.get_name())
print("我的石头的寿命是", my_rock.get_lifespan())
```
输出结果:
```
我的狗的名字是 小白
我的狗的品种是 金毛
我的狗的寿命是 大约13年
我的石头的名字是 小石头
我的石头的寿命是 千年
```
说明代码实现成功。
阅读全文