【Python】主动调用其他类的方法

1 创建对象并调用方法的两种方式

"""
class Base(object):
    def f1(self):
        print('5个功能')
        
# obj = Base()
# Base.f1(obj)            #一般不用这种方法调用类中对象的方法

obj = Base()
obj.f1()
         

2 主动调用类中的方法

# ########### 方式一
# class Base(object):
#
#     def f1(self):
#         print('5个功能')
#
# class Foo(object):
#
#     def f1(self):
#         print('3个功能')
#         Base.f1(self)                 #主动调用Base类的f1方法,两个类并无继承关系
#
# obj = Foo()
# obj.f1()

# ########### 方式二:按照类的继承顺序,找下一个.
"""        
class Base(object):                #单继承
    def f1(self):
        print('5个功能')

class Foo(Base):
    def f1(self):
        super().f1()
        #super(Foo, self).f1()   
        print('3个功能')
        
obj = Foo()
obj.f1()
"""

# ########### 方式二:按照类的继承顺序,找下一个.
# class Foo(object):          
#     def f1(self):
#         super().f1()                  #super是当前所在类的对象父类(或按继承关系)
#         print('3个功能')
#
# class Bar(object):
#     def f1(self):
#         print('6个功能')
#
# class Info(Foo,Bar):     #多继承
#     pass
#
# # obj = Foo()
# # obj.f1()
#
# obj = Info()
# obj.f1()        #先找Info类中的f1方法,没有则去Foo里面找,执行Foo类中的f1方法,注意f1中的super方法执行是按Info类的继承顺序来的,及执行Bar中的f1方法
 print(Info.__mro__)            #打印继承顺序                  

复杂的多继承遵循C3算法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值