当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-24
1 创建对象并调用方法的两种方式 """ class Base(object): def f1(self): print('5个功能') # obj = Base() # Base.f1(obj) #一般不用这种方法调用类中对象的方法 obj = Base() obj.f1() 2 主动调用类中的方法 #

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算法


上一篇:【Python】面向对象-类的成员,方法
下一篇:没有了
网友评论