Java教程

继承总结

本文主要是介绍继承总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 

# 在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__类属性的顺序。比较适合单继承使用。
# 定义私有属性和方法: 在属性名和方法名 前面 加上两个下划线__




这篇关于继承总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!