zoukankan      html  css  js  c++  java
  • 85.单继承

    单继承:子类只继承一个父类

    • 故事情节:煎饼果子老师傅在煎饼果子界摸爬滚打几十年,拥有一身精湛的煎饼果子技术,并总结了一套"古法煎饼果子配方"。

    • 可是老师傅年迈已久,在嗝屁之前希望把自己的配方传承下去,于是老师傅把配方传给他的徒弟大猫...

    # 定义一个Master类
    class Master(object):
        def __init__(self):
            # 属性
            self.kongfu = "古法煎饼果子配方" 
    
        # 实例方法
        def make_cake(self):
            print("按照 <%s> 制作了一份煎饼果子..." % self.kongfu)
    
    
    # 定义Prentice类,继承了 Master,则Prentice是子类,Master是父类。
    class Prentice(Master): 
        # 子类可以继承父类所有的属性和方法,哪怕子类没有自己的属性和方法,也可以使用父类的属性和方法。
        pass                
    
    # laoli = Master()
    # print(laoli.kongfu)
    # laoli.make_cake()
    
    damao = Prentice()  # 创建子类实例对象
    print(damao.kongfu) # 子类对象可以直接使用父类的属性
    damao.make_cake()   # 子类对象可以直接使用父类的方法

    说明:

    • 虽然子类没有定义__init__方法初始化属性,也没有定义实例方法,但是父类有。所以只要创建子类的对象,就默认执行了那个继承过来的__init__方法

    总结:

    • 子类在继承的时候,在定义类时,小括号()中为父类的名字
    • 父类的属性、方法,会被继承给子类

    剧情发展:

    大猫掌握了师傅的配方,可以制作古法煎饼果子。但是大猫是个爱学习的好孩子,他希望学到更多的煎饼果子的做法,于是通过百度搜索,找到了一家煎饼果子培训学校。(多继承)

    例子1:

    class Master(object):
        def __init__(self):
            self.kongfa = "中国古法配方"
        def print_info(self):
            print("按照<%s>制作煎饼果子" % self.kongfa)
    # lsf = Master()
    # lsf.print_info()
    class Prentice(Master):
        pass
    dm = Prentice()
    dm.print_info()
    
    # 自定义徒弟类
    # 单继承格式: class 子类名(父类名):
    class Prentice(Master):
        pass
    
    # 创建一个徒弟大猫
    dm = Prentice()
    dm.make_cake()
    
    # 如果子类继承了父类 子类就拥有了父类的属性和方法
  • 相关阅读:
    NYOJ 625 笨蛋的难题(二)
    NYOJ 102 次方求模
    ZJU Least Common Multiple
    ZJUOJ 1073 Round and Round We Go
    NYOJ 709 异形卵
    HDU 1279 验证角谷猜想
    BNUOJ 1015 信息战(一)——加密程序
    HDU 1202 The calculation of GPA
    "蓝桥杯“基础练习:字母图形
    "蓝桥杯“基础练习:数列特征
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12870600.html
Copyright © 2011-2022 走看看