当前位置 博文首页 > m0_51723227的博客:03继承
继承的语法:
class 类(父类):
pass
eg:
class Animal:
def __init__(self,name):
self.name = name
def eat(self):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
wangcai = Animal("旺财")
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
运行结果:
吃
喝
跑
睡
如果需要再定义狗类,便是在Animal的基础上加上增加bark
class Dog:
def __init__(self,name):
self.name = name
def eat(self):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
def bark(self):
print("叫")
wangcai = Dog("旺财")
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()
运行结果:
吃
喝
跑
睡
叫
那么如果再定义 神狗类需要加上 fly
class God_Dog:
def __init__(self,name):
self.name = name
def eat(self):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
def bark(self):
print("叫")
def fly(self):
print("飞")
wangcai = God_Dog("哮天犬")
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()
wangcai.fly()
运行结果:
吃
喝
跑
睡
叫
飞
综上所述,因此就比较麻烦,特别是比如如果第一类Animal中drink需要修改,那么以后的所有类都需修改
因此可以使用继承:
class Animal:
def __init__(self,name):
self.name = name
def eat(self):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
class Dog(Animal):
def bark(self):
print("叫")
class God_Dog(Dog):
def fly(self):
print("飞")
wangcai = God_Dog("哮天犬")
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()
wangcai.fly()
运行结果:
吃
喝
跑
睡
叫
飞
class Animal:
def __init__(self,name):
self.name = name
def eat(self):
print("吃")
def drink(self):
print("喝---")
def run(self):
print("跑")
def sleep(self):
print("睡----")
class Dog(Animal):
def bark(self):
print("叫")
class God_Dog(Dog):
def fly(self):
print("飞")
wangcai = God_Dog("哮天犬")
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()
wangcai.fly()
运行结果:
吃
喝---
跑
睡---
叫
飞
新人创作,若有问题,欢迎大佬们的斧正