zoukankan      html  css  js  c++  java
  • python面向对象继承

    class A(object):pass   # 括号中可称为父类,基类,超类
     class B:pass   # 父类,基类,超类
     class A_son(A,B):pass # 子类,派生类
     class AB_son(A):pass # 子类,派生类
    # 一个类 可以被多个类继承
    # 一个类 可以继承多个父类  —— python里
     print(A_son.__bases__) #查看父类
    # print(AB_son.__bases__)
    # print(A.__bases__)  # python3 -新式类# 没有继承父类默认继承object,object是所有类的父类
    class Animal:
    #     def __init__(self,name,aggr,hp):
    #         self.name = name
    #         self.aggr = aggr
    #         self.hp = hp
    #
    #     def eat(self):
    #         print('吃药回血')
    #         self.hp+=100
    #
    # class Dog(Animal):
    #     def __init__(self,name,aggr,hp,kind):
    #         Animal.__init__(self,name,aggr,hp)  #
    #         self.kind = kind       # 派生属性
    #     def eat(self):
    #         Animal.eat(self)   # 如果既想实现新的功能也想使用父类原本的功能,还需要在子类中再调用父类
    #         self.teeth = 2
    #     def bite(self,person):   # 派生方法
    #         person.hp -= self.aggr

    父类中没有的属性 在子类中出现 叫做派生属性
     父类中没有的方法 在子类中出现 叫做派生方法
     只要是子类的对象调用,子类中有的名字 一定用子类的,子类中没有才找父类的,如果父类也没有报错
     如果父类 子类都有 用子类的
     如果还想用父类的,单独调用父类的:
     父类名.方法名 需要自己传self参数
     super().方法名 不需要自己传self                 当有棱形继承时super调用方法的顺序安找棱形继承的顺序调用。
     正常的代码中 单继承 === 减少了代码的重复
     继承表达的是一种 子类是父类的关系

  • 相关阅读:
    STM32——项目需求之低功耗的停机模式
    sscanf函数——强大的C语言库函数
    二级指针偏移
    RTX基础教程目录
    #pragma pack(push) 和#pragma pack(pop) 以及#pragma pack()
    Write thread-safe servlets [reproduced]
    C++程序员如何转Java
    How to implement equals() and hashCode() methods in Java[reproduced]
    The Java Enum: A Singleton Pattern [reproduced]
    VS Code
  • 原文地址:https://www.cnblogs.com/daju/p/10222479.html
Copyright © 2011-2022 走看看