首先,我们需要定义一个名为animal的类,包含两个私有属性name和kind。在构造函数中通过形参赋值,并定义属性方法getname和getkind,以及changekind和delkind方法。同时定义静态属性kind。 ```python class animal: def __init__(self, name, kind): self.__name = name self.__kind = kind def getname(self): return self.__name def getkind(self): return self.__kind def changekind(self, new_kind): self.__kind = new_kind def delkind(self): del self.__kind kind = "static" ``` 接下来,我们创建一个名为a1的对象,参数为(parrot,bird),并调用getname方法输出结果。然后输出a1的属性getname和kind。修改a1的属性kind为polytelis,输出a1的属性kind。删除a1的属性kind。 ```python a1 = animal("parrot", "bird") print(a1.getname()) # 输出:parrot print(a1.getname) # 输出:<bound method animal.getname of <__main__.animal object at 0x7f8c1c2d3a90>> print(a1.getkind()) # 输出:bird a1.changekind("polytelis") print(a1.getkind()) # 输出:polytelis a1.delkind() ``` 在animal类中增加一个方法talk,输出"i can speak."。同时增加一个方法myprint,输出name和kind的值。 ```python class animal: # ...其他代码... def talk(self): print("i can speak.") def myprint(self): print("name:", self.__name, "kind:", self.__kind) ``` 定义一个名为cat的类,继承自animal,包含私有属性food和enemy,在构造函数中赋值。定义talk方法,输出"喵喵"。定义print方法输出food和enemy。定义方法catchmouse,输出"i catch a mouse."。定义方法myprint,输出子类对象所有属性。 ```python class cat(animal): def __init__(self, name, kind, food, enemy): super().__init__(name, kind) self.__food = food self.__enemy = enemy def talk(self): print("喵喵") def print(self): print("food:", self.__food, "enemy:", self.__enemy) def catchmouse(self): print("i catch a mouse.") def myprint(self): print("name:", self.getname(), "kind:", self.getkind(), "food:", self.__food, "enemy:", self.__enemy) ``` 定义一个animal类对象a2,参数为(octopus,fish)。分别调用方法talk、myprint、catchmouse。 ```python a2 = cat("octopus", "fish", "fish", "shark") a2.talk() # 输出:喵喵 a2.myprint() # 输出:name: octopus kind: fish food: fish enemy: shark a2.catchmouse() # 输出:i catch a mouse. ``` [2024-06-13 18:44:32 | AI写代码神器 | 801点数解答]