一、继承
什么是继承,在现实生活中,继承一般指的是子女继承父母的财产
而在面向对象的程序设计中,也有继承的概念
继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类
1 #定义父类 2 class A(object): 3 def __init__(self): 4 self.num = 10 5 6 def print_num(self): 7 print(self.num + 10) 8 # 子类 9 class B(A): 10 pass 11 12 b = B() 13 print(b.num) 14 b.print_num()
单继承
1 #定义父类
2 class Master(object): 3 def __init__(self): 4 self.bible = "撩妹技巧" 5 def make_cake(self): 6 print("按照 <%s> 书籍学习到撩妹技巧..." % self.bible) 7 #定义Prentice类,继承了 Master,则Prentice是子类,Master是父类。 8 class Prentice(Master): # 子类可以继承父类所有的属性和方法,哪怕子类没有自己的属性和方法,也可以使用父类的属性和方法。 9 pass 10 damao = Prentice() # 创建子类实例对象 11 print(damao.bible) # 子类对象可以直接使用父类的属性 12 damao.make_cake() # 子类对象可以直接使用父类的方法
多继承
1 #class Master(object): 2 def __init__(self): 3 self.bible = "武功秘籍" # 实例变量,属性 4 def make_cake(self): # 实例方法,方法 5 print("<%s>书籍学习到撩妹技巧..." % self.bible) 6 7 class School(object): 8 def __init__(self): 9 self.bible = "撩妹技巧" 10 def make_cake(self): 11 print("[sink] 按照 <%s> 书籍学习到撩妹技巧..." % self.bible) 12 13 class Prentice(Master, School): # 多继承,继承了多个父类(Master在前) 14 pass 15 16 damao = Prentice() 17 print(damao.bible) # 执行Master的属性 18 damao.make_cake() # 执行Master的实例方法 19 # 子类的魔法属性__mro__决定了属性和方法的查找顺序 20 print(Prentice.__mro__)
以上就是关于python三大特性之一的继承,如有不足之处请多指教,如果对你有所帮助,记得点亮一下右下角的推荐!!!
bible