`

python继承

 
阅读更多
子类不会默认调用父类的构造函数,但如果子类没有自己的构造函数则会默认调用父类的
class P(object):
    def __init__(self):
        print 'P inited'
    def __del__(self):
        print 'P deleted'
    def fun(self):
        print 'P fun'
        
class C(P):
    def __init__(self):
        print 'C inited'
    def __del__(self):
        print 'C deleted'
    def fun(self):
        super(C,self).fun()
        print 'C fun'

class C2(P):
    pass

>>> c = C()
C inited
>>> c.fun()
P fun
C fun
>>> delete c
SyntaxError: invalid syntax
>>> del c
C deleted
>>> c2 = C2()
P inited


多重继承,先继承的优先调用
class P1:
    def __init__(self):
        print 'P1 init()'
    def foo(self):
        print 'P1 foo()'

class P2:
    def __init__(self):
        print 'P2 init()'
    def foo(self):
        print 'P2 foo()'
    def bar(self):
        print 'P2 bar()'

class C1(P1,P2):
    pass
class C2(P2,P1):
    def bar(self):
        print 'C2 bar()'

class GC(C1,C2):
    pass


>>> c1 = C1()
P1 init()
>>> c2 = C2()
P2 init()
>>> c1.foo()
P1 foo()
>>> c1.bar()
P2 bar()
>>> c2.foo()
P2 foo()//先继承了P2,所以优先调用P2的foo
>>> c2.bar()
C2 bar()
>>> gc = GC()
P1 init()
>>> gc.foo
<bound method GC.foo of <__main__.GC instance at 0x0000000002F55588>>
>>> gc.foo()
P1 foo()//先继承了C1,C1再向上找到P1的foo
>>> gc.bar()
P2 bar()
>>> 
分享到:
评论

相关推荐

    python继承和抽象类的实现方法

    本文实例讲述了python继承和抽象类的实现方法。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下:#!/usr/local/bin/python # Fig 9.9: fig09_09.py # Creating a class hierarchy with an abstract ...

    第十二章Python继承和多态习题与答案--中文

    第十二章Python继承和多态习题与答案--中文

    python继承语法.docx

    python继承语法 Python继承语法 Python是一种面向对象的编程语言,支持继承。继承是一种重要的面向对象编程概念,它允许程序员创建一个新类,该类继承了现有类的属性和方法。这种继承关系可以形成一个类层次结构,...

    python继承类重写方法.docx

    python继承类重写方法 Python是一种面向对象的编程语言,它支持继承类重写方法。继承是一种重要的面向对象编程概念,它允许我们创建一个新类,该类继承了另一个类的属性和方法。重写方法是指在子类中重新定义父类中...

    python继承类重写方法(1).docx

    python继承类重写方法 Python是一种面向对象的编程语言,它支持继承类重写方法。继承是一种重要的面向对象编程概念,它允许我们创建一个新类,该类继承了另一个类的属性和方法。重写方法是指在子类中重新定义父类中...

    从零开始重新学习 Python 3:代码复用:学会 Python 继承和多态,事半功倍!

    不想每次都写重复代码?Python 继承和多态,让你轻松实现代码复用!

    Python 继承,重写,super()调用父类方法操作示例

    本文实例讲述了Python 继承,重写,super()调用父类方法操作。分享给大家供大家参考,具体如下: demo.py(继承,重写,super): # 父类 class Dog: def bark(self): print(汪汪叫) # 子类 继承 class ...

    彻底搞懂python继承

    Python继承 继承是用来实现代码复用和设计复用的机制,是面向对象程序设计的重要特性之一。设计一个新类时,如果可以继承一个已有的设计良好的类然后进行二次开发,无疑会大幅度减少开发工作量。 在继承关系中,已有...

    python 继承的应用 示例

    继承的应用 - 抽象类 - 抽象方法 - 方法重写 - 多态

    python-继承语法.docx

    python 继承语法 Python继承语法是面向对象编程中的重要概念之一,它允许一个类(子类)继承另一个类(父类)的属性和方法。这种继承关系可以大大简化代码的编写和维护,同时也提高了代码的可重用性和可扩展性。 在...

    ODOO12图书项目继承Python方法.mp4

    Python 方法中编写的业务逻辑也可以被继承。Odoo 借用了 Python 已有的父类行为的对象继承机制。 作为一个实际的例子,我们将继承图书 ISBN 验证逻辑。在图书应用中仅能验证13位的 ISBN,但老一些的图书可能只有10...

    python 多继承

    python 继承 多继承 视频课。。。。。。。。。。。。。。。

    Python学习资料之继承

    Python学习资料

    python进阶1.7继承,重写,多态等.zip

    python基础进阶1.7继承,重写,多态等相关视频。至此,我认为了解这些python基础,便可以进行相关项目实践了。在实践中学习更多的python函数用法。关注微信公众号:深度学习社区DLC;博客:...

    python继承实例.html

    通过继承的简单例子深入了解继承,所有类都继承object,isinstance()用来检查一个对象是否是有一个类的实例,issubclass()检查一个类是否是另一个类的子类

    Python语言基础:类的继承.pptx

    继承性是面向对象编程的重要特性之一,是为代码复用和设计复用而设计的。自定义一个新类时可以继承一个已有或设计好的类然后进行二次开发,这会大幅度减少开发的工作量。 在继承关系中,已有的、设计好的类称为父类...

    Python语言基础:类的多重继承.pptx

    多重继承是指一个子类通过继承的方式来获得更多个父类的方法和属性。使用如下的例子来解释多重继承,假设要实现以下四种动物: Dog:狗 Bat:蝙蝠 Parrot:鹦鹉 Ostrich:鸵鸟 实例:类的多重继承实现,首先,主要的...

    Python编程基础与应用-教案0704-继承2页.docx

    Python编程基础与应用-教案0704-... Python继承是把已存在的类的定义作为基础建立新的类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。 继承可以分为单继承和多继承两种

    python全套课程继承与多态

    包含多态、静态方法、类方法、数据工具的继承与实现、继承、多继承概念、类的常见属性等

    浅析python继承与多重继承

    在本篇文章中我们给大家分析了python继承与多重继承的相关知识点内容,有兴趣的读者们参考下。

Global site tag (gtag.js) - Google Analytics