zoukankan      html  css  js  c++  java
  • day11,12 — 继承和派生

    面向对象的三大特性:封装,继承和多态

    一,继承

    什么是继承?

         # 什么是什么的关系  一个类是另一个类的子类

         #继承是一种创新类的方式,新建的类可以继承一个或多个父类。父类有称为基类或超类,新建的类有成为派生类或子类

             继承一个父类叫做单继承,继承多个父类叫做多继承

         # 继承的好处 : 减少代码的冗余,增强代码的重用信

    二,继承的用法

    super : 调用父类的功能和方法

    格式一 : 在子类的内部调用父类的属性和方法

         class 父类名:

              def  属性(self):

                        功能

          class  子类名(父类名):

                def 属性(self) :
                        super().属性名

    1 class A:
    2     def aa(self):
    3         print(11)
    4 class B(A):
    5     def aa(self):
    6         super().aa()
    7 b=B()
    8 b.aa()

       在子类外部调用父类的属性和方法是,必须要给super传入两个参数,一个是子类名,一个是对象名:super(子类名,对象).属性()

       在多继承的时候,super继承的是第一个父类

    super :新式类调用父类的方法。 super找到有该方法或属性的第一个父类

     1 # class People:
     2 #     def __init__(self,name,age,sex):
     3 #         self.name=name
     4 #         self.age=age
     5 #         self.sex=sex
     6 # class Nan:
     7 #     pass
     8 # class Student(Nan,People):
     9 #     def __init__(self,name,age,sex):
    10 #         super().__init__(name,age,sex)
    11 # fang=Student('fang','',18)
    12 # print(fang.name)

      父类名.__init__(self): 经典类调用父类方法和属性的方式

    # class People:
    #     def __init__(self,name,age,sex):
    #         self.name=name
    #         self.age=age
    #         self.sex=sex
    # class Nan:
    #     pass
    # class Student(Nan,People):
    #     def __init__(self,name,age,sex):
    #         People.__init__(self,name,age,sex)
    # fang=Student('fang','男',18)
    # print(fang.name)

    继承中子类可以继承父类的所有属性和方法

    # class People:
    #     def __init__(self,name,age,sex):
    #         self.name=name
    #         self.age=age
    #         self.sex=sex
    # class Nan:
    #     pass
    # class Student(Nan,People):
    #     def __init__(self,name,age,sex):
    #         People.__init__(self,name,age,sex)
    # fang=Student('fang','男',18)
    # print(fang.name)

      当子类和父类中有同名的方法和属性时,一定时调用自己的

    如果想调用父类的方法和属性时,需要借用super来调用

    对象剋有调用自己和父类的所有方法和属性,首先时调用自己的,自己没有再去调用父类的

    谁(对象)调用方法,self就会指向谁

    自己私有的方法叫做派生方法,自己私有的属性叫做派生属性

    从下到上叫做抽象,从上到下叫做继承

  • 相关阅读:
    图解集合5:不正确地使用HashMap引发死循环及元素丢失
    图解集合4:HashMap
    图解集合3:CopyOnWriteArrayList
    图解集合2:LinkedList
    SharePoint PowerShell 修改母版页
    SharePoint PowerShell 启动工作流
    SharePoint REST 服务获取讨论版问题
    SharePoint 前端开发常用的对象之_spPageContextInfo
    SharePoint 读取内容的插件之SharepointPlus
    SharePoint 配置PowerShell任务计划
  • 原文地址:https://www.cnblogs.com/ez2z/p/7561636.html
Copyright © 2011-2022 走看看