博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
super继承和普通继承
阅读量:5891 次
发布时间:2019-06-19

本文共 1816 字,大约阅读时间需要 6 分钟。

一。普通继承

>>> class A:...     def __init__(self):...             print 'Enter A'...             print 'Leave A'... >>> class B(A):...     def __init__(self):...             print 'Enter B'...             A.__init__(self)...             print 'Leave B'... >>> class C(A):...     def __init__(self):...             print 'Enter C'...             A.__init__(self)...             print 'Leave C'... >>> class D(A):...     def __init__(self):...             print 'Enter D'...             A.__init__(self)...             print 'Leave D'... >>> class E(B,C,D):...     def __init__(self):...             print 'Enter E'...             B.__init__(self)...             C.__init__(self)...             D.__init__(self)...             print 'Leave E'...

  运行结果

>>> E()Enter EEnter BEnter ALeave ALeave BEnter CEnter ALeave ALeave CEnter DEnter ALeave ALeave DLeave E<__main__.E instance at 0x108670560>>>>

二。super继承

>>> class A(object):...     def __init__(self):...             print 'Enter A'...             print 'Leave A'... >>> class B(A):...     def __init__(self):...             print 'Enter B'...             super(B,self).__init__()...             print 'Leave B'... >>> class C(A):...     def __init__(self):...             print 'Enter C'...             super(C,self).__init__()...             print 'Leave C'... >>> class D(A):...     def __init__(self):...             print 'Enter D'...             super(D,self).__init__()...             print 'Leave D'... >>> class E(B,C,D):...     def __init__(self):...             print 'Enter E'...             super(E,self).__init__()...             print 'Leave E'...

 运行结果

>>> E()Enter EEnter BEnter CEnter DEnter ALeave ALeave DLeave CLeave BLeave E<__main__.E object at 0x10513bc10>

三。结论

   除了代码简化了外,明白两者调用父类的次数和调用的顺序,其他不深入探讨.

转载于:https://www.cnblogs.com/GH-123/p/7890070.html

你可能感兴趣的文章
解决libmcrypt was not found,无法安装mcrypt
查看>>
QSS学习
查看>>
写给MongoDB开发者的50条建议Tip13
查看>>
Linux 系统管理的基本知识
查看>>
我的友情链接
查看>>
那些年,一起学的Java 7-4
查看>>
我的友情链接
查看>>
vsftp:500 OOPS: could not bind listening IPv4 sock
查看>>
系统架构师职业分析
查看>>
Centos7下安装DB2
查看>>
我的友情链接
查看>>
Linux安装BTCPayServer并设置比特币BTC和Lightning支付网关
查看>>
Python 的 with 语句
查看>>
SpringCloud Gateway与swagger集成解决方案
查看>>
谈谈我第一次如何为 Laravel 贡献源码
查看>>
Web开发中 前端路由 实现的几种方式和适用场景
查看>>
python3实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
查看>>
梳理一份机器学习的学习目录
查看>>
Java并发编程:深入剖析ThreadLocal
查看>>
Mac OSX 中java7 java8环境的配置
查看>>