继承总结

继承总结

 

 

# 在python中,获取和修改私有属性值
# 一般定义函数名get_xx set_xx用来修改私有属性值
class Master(object):
def __init__(self):
self.kongfu = '[师父方法]'

def cake(self):
print(f'运用{self.kongfu}来实现')


class School(Master):
def __init__(self):
self.kongfu = '[666]'

def make_cake(self):
print(f'运用{self.kongfu}来实现')

super().__init__()
super().cake()


class Prentice(School):
def __init__(self):
self.kongfu = '[独创方法]'
# 定义私有属性
self.__money = 200000

# 定义函数: 获取私有属性值 get_xx
def get_money(self):
return self.__money

# 定义函数: 修改私有属性 set_xx
def set_money(self):
self.__money = 500

def make_cake(self):
# 加自己的初始化的原因:如果不加这个自己的初始化,kongfu属性值是上一次调用的init内的kongfu属性值
self.__init__()
print(f'运用{self.kongfu}来实现')

# 子类调用父类的同名方法和属性:把父类的同名属性和方法再次封装
# def make_master_cake(self):
# # 父类类名.函数()
# # 再次调用初始化的原因:这里想要调用父类的同名方法和属性,属性在init初始化位置,所以需要再次调用init
# Master.__init__(self)
# Master.cake(self)
#
# def make_school_cake(self):
#
# School.__init__(self)
# School.make_cake(self)
# 需求: 一次性调用父类School Master的方法
def make_old_cake(self):
super().__init__()
super().make_cake()


# 3.用徒弟类创建对象,调用实例属性和方法
daqiu = Prentice()

daqiu.make_old_cake()

print(daqiu.get_money())
daqiu.set_money()
print(daqiu.get_money())

# 注意:使用super()可以自动查找父类,调用顺序遵循__mro__类属性的顺序。比较适合单继承使用。
# 定义私有属性和方法: 在属性名和方法名 前面 加上两个下划线__




上一篇:WMS工厂智能制造,仓储管理系统asp.net开发源代码


下一篇:阿里云环境部署Hyperledger Fabric之SIGSEGV问题分析和解决经验分享