1、概念
多个类之间的所属关系,即子类默认继承父类的所有属性和方法。
注:所有类默认继承object类,object类是顶级类或基类;
其他子类叫做派生类。
#父类A
class A(object):
def __init__(self):
self.num=1
def info_print(self):
print(self.num)
#子类B
class B(A):
pass
result=B()
result.info_print()
#1
2、单继承
徒弟要学习师傅的古法煎饼果子配方
师父要把这套技术传授给他的唯一的最得意的徒弟。
#1.师父类
class Master(object):
def __init__(self):
self.kongfu='[古法煎饼果子配方]'
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
#2.徒弟类
class Prentice(Master):
pass
#3.创建对象daqiu
daqiu=Prentice()
#4.对象访问实例属性
print(daqiu.kongfu)
#5.对象调用实例方法
daqiu.make_cake()
3、多继承
一个类同时继承了多个父类。
注意:当一个类有多个父类的时候,默认使用第一个父类的同名属性和方法。
#创建师傅类
class Master(object):
def __init__(self):
self.kongfu='[古法煎饼果子配方]'
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
#创建学校类
class School(object):
def __init__(self):
self.kongfu='[码途钥匙煎饼果子配方]'
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
#创建徒弟类
class Prentice(School,Master):
pass
daqiu=Prentice()#创建对象daqiu
print(daqiu.kongfu)#对象调用实例对象 [码图钥匙煎饼果子配方]
daqiu.make_cake()#对象实例方法 运用码图钥匙煎饼果子配方制作煎饼果子
4、子类重写父类同名方法和属性
daqiu掌握了师父和培训的技术后,自己潜心钻研出自己的独门配方的一套全新的煎饼果子技术。
注:子类调用父类的同名方法和属性
5、子类调用父类的同名方法和属性
6、多层继承
即徒弟再传给徒孙
7. super()调用父类方法
8、私有权限
1、定义私有属性和方法
可以为实例属性和方法设置私有权限,即设置某个实例属性或实例方法不继承给子类。
设置私有权限的方法:在属性名和方法名前面加上两个下划线__。
注意:私有属性和私有方法只能在类里面访问和修改。
2、获取和修改私有属性值
在Python中,一般定义函数名get_xx用来获取私有属性,定义set_xx用来修改私有属性值。