链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
父类/子类  或  基类/派生类
上面表述是一个意思

子类和父类都有同一个方法名时,优先执行自己的方法

继承的本质是将父类中的方法写入子类当中(子类中没有的才写入,子类中存在的优先使用子类中的方法)
当对象调用方法时,调用的是父类和子类结合而来的方法,和父类再也没有一点关系了,
不必再考虑父类和子类的关系,只看组合的方法即可
'''

'''
class F1:

    def show(self):
        print('show')

    def foo(self):
        print(self.name)

#F2继承F1
class F2(F1):

    def __init__(self,name):
        self.name = name

    def bar(self):
        print('bar')


# obj = F2()
# obj.bar()
# obj.show()  #F2继承F1,可以使用F1中的方法

obj = F2('alex')
obj.foo()   #输出‘alex’。继承相当于把父类中的方法写入子类,因此子类调用父类的方法获取子类的属性是没问题的
'''

class S1:
    def F1(self):
        self.F2()

    def F2(self):
        print('s1')

class S2(S1):
    def F3(self):
        self.F1()

    def F2(self):
        print('s2')

obj = S2()
obj.F2()   #执行的是S2中的F2方法
obj.F3()  #先将S1中的方法写入S2(F2还是使用S2本身的),然后执行F3,F3调用F1,F1调用S2本身的F2

 

posted on 2016-11-07 13:44  链条君  阅读(150)  评论(0编辑  收藏  举报