码迷,mamicode.com
首页 > 其他好文 > 详细

14.3继承

时间:2018-04-10 13:37:09      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:Python   继承   

继承
# -*-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继承

标签:Python   继承   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!