• 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调用方法的顺序安找棱形继承的顺序调用。
     正常的代码中 单继承 === 减少了代码的重复
     继承表达的是一种 子类是父类的关系

  • 相关阅读:
    javascript常用对象
    oracle储存过程,job,视图,触发器(记性不好,写个例子自己记)
    xml直接读取节点
    脑瓜子的文章导航 脑瓜子的学院系列文章汇总
    ASP.NET MVC 中实现View与Controller分离
    开发
    SQLite学习手册(转)
    缓存数据库redis、memcached。 MongoDB 资源集锦
    在GOOGLE浏览器中模拟移动浏览器 调试Web app
    Intelligencia.UrlRewriter在IIS 7.0下的完全配置攻略
  • 原文地址:https://www.cnblogs.com/daju/p/10222479.html
Copyright © 2020-2023  润新知