"""
1.python旧式类是深度优先
也就是说根据继承类的列表从左到右查找属性和方法
查找完列表中第一个类没找到会先去找他的父类然后是他父类的父类
依次递归到最顶级
然后再去列表中的下一个中查找
2.新式类用的是广度优先算法
先把列表中的基类查找一遍再去他们的父类中查找
3.__init__初始化方法 用super来调用 只能调用到列表中的第一个类
"""
class A1(object):
TIME = "23点36分"
def print(self):
print("hello {} I am A1".format(self.who))
def __init__(self, who):
self.who = who
print("A1 initmethod---------")
class A2(object):
DATE = "20171017"
def print(self):
print("hello {} I am A2".format(self.who))
def __init__(self, who):
self.who = who
print("A2 initmethod---------")
class A3(A2, A1):
def __init__(self, why, who):
print("A3 init--")
self.why = why
super(A3, self).__init__(who)
def say(self):
print(self.who)
print(super(A3, self).print())
@classmethod
def xxoo(cls):
print(cls.DATE)
print(cls.TIME)
oo = A3("学习继承", "Mark")
oo.say()
oo.xxoo()
python extends
最新推荐文章于 2024-06-18 21:34:39 发布