写一个程序:设计一个动物类(Animal),再由此派生出猫类(Cat)和狗类(Dog),这些类中均有体重(weight)和发声(Speak)成员,不同动物发声时分别说出自已的动物类型和体重,使用类的继承性和多态性封装这些类,并编程测试设计的类
时间: 2023-03-03 15:42:30 浏览: 398
好的,以下是用Python实现的程序,用于设计动物类(Animal)并由此派生出猫类(Cat)和狗类(Dog)。
```python
# 定义动物类
class Animal:
def __init__(self, weight):
self.weight = weight
def speak(self):
print("我是一个动物,我的体重是:", self.weight)
# 定义猫类
class Cat(Animal):
def speak(self):
print("我是一只猫,我的体重是:", self.weight)
# 定义狗类
class Dog(Animal):
def speak(self):
print("我是一只狗,我的体重是:", self.weight)
# 测试代码
if __name__ == '__main__':
# 创建动物实例
animal = Animal(10)
# 创建猫实例
cat = Cat(5)
# 创建狗实例
dog = Dog(20)
# 调用各个实例的 speak 方法
animal.speak()
cat.speak()
dog.speak()
```
以上代码中,我们定义了一个基类 `Animal`,并在其构造方法中定义了 `weight` 属性。同时,我们也定义了一个 `speak` 方法,用于输出动物的信息。
在猫类和狗类中,我们使用 `Animal` 类作为基类,并重写了 `speak` 方法,用于输出猫或狗的信息。
最后,在测试代码中,我们创建了一个动物实例、一个猫实例和一个狗实例,并分别调用它们的 `speak` 方法,用于输出它们的信息。
由于使用了类的继承性和多态性,我们在子类中重写了基类的方法,从而实现了不同动物的发声效果。
阅读全文