85.单继承
Posted kangwenju
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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() # 如果子类继承了父类 子类就拥有了父类的属性和方法
以上是关于85.单继承的主要内容,如果未能解决你的问题,请参考以下文章