继承的概念(Python | 继承)
继承是指自然人死亡后,由法律规定的人或遗嘱指定的人依法取得死者遗留的个人合法财产的法律制度。继承有法定继承和遗嘱继承。法定继承的继承人和继承份额由法律直接规定;...
继承是指自然人死亡后,由法律规定的人或遗嘱指定的人依法取得死者遗留的个人合法财产的法律制度。继承有法定继承和遗嘱继承。法定继承的继承人和继承份额由法律直接规定;遗嘱继承的继承人以及继承份额由被继承人以遗嘱的形式指定。
继承的概念拓展阅读
Python | 继承
继承的概念
生活中的继承,一般指的是子女继承父辈的财产。
- 拓展1:经典类或旧式类
class 类名:
代码
......
- 拓展2:新式类
class 类名(object):
代码
python面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性的方法,具体如下:
class A(object):
def __init__(self):
self.num = 1
def info_print(self):
print(self.num)
class B(A):
pass
result = B()
result.info_print()
在python中,所有类默认继承object类,object类是顶级类或基类;其他子类叫做派生类。
单继承
故事主线:一个煎饼果子老师傅,在煎饼果子界摸爬滚打多年,研发了一套精湛的摊煎饼果子的技术。师父要把这套技术传授给他的唯一的最得意的徒弟。
分析:徒弟是不是要继承师父的所有技术?
class Master(object):
def __init__(self):
self.kongfu = &39;
def make_cake(self):
print(f&39;)
class Prentice(Master):
pass
jack = Prentice()
print(jack.kongfu)
jack.make_cake()
多继承
故事推进:jack是个爱学习的好孩子,想学习更多的煎饼果子技术,于是,在百度找到了一个培训班,报班学习煎饼果子技术。
所谓多继承意思就是一个类同时继承多个父类
class Master(object):
def __init__(self):
self.kongfu = &39;
def make_cake(self):
print(f&39;)
class School(object):
def __init__(self):
self.kongfu = &39;
def make_cake(self):
print(f&39;)
class Prentice(School, Master):
pass
jack = Prentice()
print(jack.kongfu)
jack.make_cake()
当一个类有多个父类的时候,默认使用第一个父类的同名属性和方法。
子类重写父类同名方法和属性
故事:jack掌握了师父和培训技术后,自己潜心钻研出自己的独门配方。
......
class Prentice(School, Master):
def __init__(self):
self.kongfu = &39;
def make_cake(self):
print(f&39;)
jack = Prentice()
print(jack.kongfu)
jack.make_cake()
__mro__
查看某个类的继承关系
print(Prentice.__mro__)
子类调用父类的同名方法和属性
故事:很多顾客都希望能吃到百度技术的煎饼果子
......
class Prentice(School, Master):
def __init__(self):
self.kongfu = &39;
def make_cake(self):
先调用自己子类的初始化
self.__init__()
print(f&39;)
徒孙类
class Tusun(Prentice):
pass
xiaoqiu = Tusun()
xiaoqiu.make_cake()
xiaoqiu.make_master_cake()
xiaoqiu.make_school_cake()
super()调用父类方法
......
方法一:如果定义的类名修改,这里也要修改,麻烦;冗余代码量庞大
School.make_cake(self)
Master.make_cake(self)
2.1 super(当前类型, self).函数()
super(Prentice, self).make_cake()
39;[独门秘籍]& 私有属性
self.__money = 200000
39;这是私有方法&39;[独门秘籍]& 私有属性
self.__money = 200000
修改私有属性值
def set_money(self):
self.__money = 100
xiaoqiu = Tusun()
print(xiaoqiu.get_money()) 100
以上就是关于继承的概念(Python | 继承)的所有内容,希望对你有所帮助。