zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    初识Python(3)__Python 数字
    初识Python(2)__Python 对象
    正式开始学习python
    现代浏览器的工作原理
    data URI scheme
    连接池
    介绍缓存的基本概念和常用的缓存技术(转)
    前后端及常用语言介绍
    非关系型数据库和关系型数据库区别
    VC编译连接选项详解(转)
  • 原文地址:https://www.cnblogs.com/tisnk/p/11537077.html
Copyright © 2011-2022 走看看