首页 > 其他 > 详细

14.3继承

时间:2018-04-10 13:18:02      阅读:157      评论:0      收藏:0      [点我收藏+]
继承
# -*-coding:utf-8 -*-
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘继承‘

# 继承
#     类继承类
# class father:基类,父类
# class son   :派生类,子类
#
# class grandfather:
#     def 下棋(self):
#         pass
#
# class father(grandfather):
#
#     def 篮球(self):
#         pass
#     def 足球(self):
#         pass
#     def 喝酒(self):
#         pass
#     def 电影(self):
#         pass

# class son(father):   #(father)表示这个孩子的父亲就是father
#     def 篮球(self):
#         pass
#     def 下棋(self):
#         pass
#
class F:

    def f1(self):
        print("F.f1")
    def f2(self):
        print("F.f2")

class S(F):
    def s1(self):
        print("S.s1")

    def f2(self):   #不再继承父类的f2方法
        print("S.f2")
"""
obj=S()

obj.s1()
obj.f1()
obj.f2()

"""
‘‘‘
obj1=S()
obj1.s1()  #s1中的self是形参,此时代指obj1
obj.f1()   #f1中的self是形参,self永远指向f1()方法的调用者
‘‘‘
class F1:
    def f1(self):
        print("F.f1")
    def f2(self):
        print("F.f2")

class S1(F):
    def s1(self):
        print("S.s1")
    def f2(self):   #下面可以继续继承父类方法
        #super(S1,self).f2()  #找到父类,执行父类或者基类中的方法
        F1.f2(self)             #与上句话等价
        print("S.f2")

obj2=S1()

obj2.f2()  #super(S1,self).f2()
# F.f2
# S.f2

# F.f2    #F1.f2(self)
# S.f2

总结:调用父类的方法有两种方式:
super(S1,self) 推荐
F1.f2(self)

14.3继承

原文:http://blog.51cto.com/10777193/2096440

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!