python面向对象之继承

一、继承

什么是继承,在现实生活中,继承一般指的是子女继承父母的财产

 

 

 

而在面向对象的程序设计中,也有继承的概念

  继承是一种创建新类的方式,在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

posted @ 2019-09-25 19:41  This_is_me  阅读(260)  评论(0编辑  收藏  举报