这个题目要求完成父类和子类的定义,并完成测试。(总共20分) (1)定义动物类animal,在类中定义属性和方法: 我拥有属性sex,表示性别,数据类型为boolean; 我拥有属性age,表示年龄,数据类型为整数; (2)定义子类cat和dog,它们继承于animal类,重写一些属性和方法: cat类: 我是猫的子类,我拥有属性name,表示名字,数据类型为字符串,在子类中定义; 我拥有属性weight,表示体重,数据类型为小数,在子类中定义; 我重写了方法show,该方法用于显示猫的信息,包括introduce()的基本信息和子类特有的属性信息。 dog类: 我是狗的子类,我拥有属性breed,表示品种,数据类型为字符串,在子类中定义; 我拥有属性color,表示颜色,数据类型为字符串,在子类中定义; 我重写了方法show,该方法用于显示狗的信息,包括introduce()的基本信息和子类特有的属性信息。 (3)完成测试: 测试代码中,实例化一个猫对象和一个狗对象,分别调用它们的introduce()和show()方法,以检查定义的类是否正确。
时间: 2024-03-17 11:41:00 浏览: 61
好的,我明白了你的问题。以下是代码实现:
```python
class Animal:
def __init__(self, sex, age):
self.sex = sex
self.age = age
def introduce(self):
print("我是一只动物。")
class Cat(Animal):
def __init__(self, sex, age, name, weight):
super().__init__(sex, age)
self.name = name
self.weight = weight
def show(self):
self.introduce()
print("我叫{},体重是{}。".format(self.name, self.weight))
class Dog(Animal):
def __init__(self, sex, age, breed, color):
super().__init__(sex, age)
self.breed = breed
self.color = color
def show(self):
self.introduce()
print("我是{}品种,颜色是{}。".format(self.breed, self.color))
# 测试代码
cat = Cat(True, 3, "小花", 2.5)
dog = Dog(False, 5, "金毛", "金色")
cat.introduce() # 我是一只动物。
cat.show() # 我是一只动物。我叫小花,体重是2.5。
dog.introduce() # 我是一只动物。
dog.show() # 我是一只动物。我是金毛品种,颜色是金色。
```
希望这个代码能够满足你的需求!
阅读全文