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()
    
    # 如果子类继承了父类 子类就拥有了父类的属性和方法
  • 相关阅读:
    jquery序列化form表单使用ajax提交后处理返回的json数据
    log4net VS2012 日志layout自定义,error日志和info日志分别记录到不同文件中
    Bootstrap 填坑1 栅格浮动问题
    C# MVC Transaction 事务
    C# MVC 用户登录状态判断
    SQL中MAX()和MIN()函数的使用
    简单表的 分页存储过程 (不支持多表连接)
    SQL Server 生成数据库代码,包含数据
    js 将数值显示为金额
    Jquery.Validate 扩展方法
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12870600.html
Copyright © 2011-2022 走看看