定义一个宠物类(Pet): 该类包括两个方法:叫Cry(),吃东西Eat(); 该类中有私有的成员字段name姓名和age年龄; 完成该类的构造方法; 定义宠物的子类狗(Dog): 覆盖父类的Cry(),Eat()方法;增加方法看门GuardEntrance() 完成该类的构造方法; 定义宠物的子类猫(Cat): 覆盖父类的Cry(),Eat()方法; 增加猫自己独有的方法捉老鼠HuntMice(); 完成该类的构造方法; 写代码测试以上各类。@
时间: 2023-06-13 07:08:23 浏览: 117
以下是代码实现:
```python
class Pet:
def __init__(self, name, age):
self.__name = name
self.__age = age
def Cry(self):
print("宠物正在叫")
def Eat(self):
print("宠物正在吃东西")
class Dog(Pet):
def __init__(self, name, age):
super().__init__(name, age)
def Cry(self):
print("狗正在汪汪叫")
def Eat(self):
print("狗正在啃骨头")
def GuardEntrance(self):
print("狗正在看门")
class Cat(Pet):
def __init__(self, name, age):
super().__init__(name, age)
def Cry(self):
print("猫正在喵喵叫")
def Eat(self):
print("猫正在吃鱼")
def HuntMice(self):
print("猫正在捉老鼠")
# 测试代码
dog = Dog("旺财", 3)
dog.Cry()
dog.Eat()
dog.GuardEntrance()
cat = Cat("小花", 2)
cat.Cry()
cat.Eat()
cat.HuntMice()
```
输出结果:
```
狗正在汪汪叫
狗正在啃骨头
狗正在看门
猫正在喵喵叫
猫正在吃鱼
猫正在捉老鼠
```
以上代码定义了一个宠物类Pet,包括两个方法Cry()和Eat(),以及私有字段name和age。然后定义了两个子类Dog和Cat,分别覆盖了父类的Cry()和Eat()方法,并增加了自己独有的方法。最后通过实例化两个对象dog和cat来测试以上各类的方法。