首页 Python基础入门视频教程 Python三大特性:资源的继承和使用
pay pay

Python三大特性:资源的继承和使用

日期: 二月 14, 2023, 8:54 a.m.
阅读: 427
作者: Python自学网-村长

摘要: 面向对象-三大特性-资源的继承和使用

00:00 / 17:00
1x
2x
1.5x
1.25x
1x
0.8x
0.5x
>
面向对象
    1. 第1课:Python面向对象程序设计
      17分钟
    2. 第2课:类属性和对象属性
      17分钟
    3. 第3课:类属性和对象属性操作本质对比
      17分钟
    4. 第4课:类属性和对象属的区别和使用对比
      17分钟
    5. 第5课:Python类方法的创建
      17分钟
    6. 第6课:实例方法,类方法和静态方法
      17分钟
    7. 第7课:三种方法访问权限对比
      17分钟
    8. 第8课:面向对象基础-元类
      17分钟
    9. 第9课:类属性,私有化属性,受保护属性的访问区别
      17分钟
    10. 第10课:面向对象-属性-私有化属性
      17分钟
    11. 第11课:面向对象-属性-只读属性
      17分钟
    12. 第12课:property操作只读属性
      17分钟
    13. 第13课:属性安全补充
      17分钟
    14. 第14课:内置属性
      17分钟
    15. 第15课:类属性,实例属性,初始化属性
      17分钟
    16. 第16课:面向对象-方法-方法回顾
      17分钟
    17. 第17课:内置特殊方法-对象信息重写
      17分钟
    18. 第18课:内置特殊方法-调用
      17分钟
    19. 第19课:内置特殊方法-索引操作
      17分钟
    20. 第20课:内置特殊方法-切片
      17分钟
    21. 第21课:内置特殊方法-对象比较
      17分钟
    22. 第22课:内置特殊方法-上下文环境的布尔值
      17分钟
    23. 第23课:内置特殊方法-迭代和遍历
      17分钟
    24. 第24课:内置特殊方法-描述器
      17分钟
    25. 第25课:内置特殊方法-装饰器
      17分钟
    26. 第26课:内置特殊方法-对象生命周期
      17分钟
    27. 第27课:内置特殊方法-面向对象小结案例
      17分钟
    28. 第28课:三大特性-继承和继承关系
      17分钟
    29. 第29课:三大特性-资源的继承和使用
      17分钟
    30. 第30课:三大特性-资源的覆盖或累加
      17分钟
    31. 第31课:三大特性-多态
      17分钟
    32. 第32课:面向对象-抽象类
      17分钟

面向对象-三大特性-资源的继承和使用。

# 1.继承和使用:资源的使用权限,测试在子类中能不能访问到父类的资源
class Person:
    name = 'Tom'  # 公有属性
    _age = 18  # 受保护属性
    __sex = '男'  # 私有属性

    def __init__(self):
        print('init方法')

    def func1(self):
        print('公有方法')

    def _func2(self):
        print('受保护方法')

    def __func3(self):
        print('私有方法')
class Dad(Person):  # 继承Person
    def test(self):
        print(self.name)
        print(self._age)
        # print(self.__sex)  # AttributeError: 'Dad' object has no attribute '_Dad__sex'

        self.func1()
        self._func2()
        # self.__func3()  # AttributeError: 'Dad' object has no attribute '_Dad__func3'
        self.__init__()
        # 除了私有属性和私有方法其他都能访问
        # 子类中时能使用父类资源,无法修改
        name = 'jerry'  # 这里是Dad中新增一个属性,并不是改变Person内的name属性
        # 继承关系和资源查找流程见图-----继承关系和资源查找流程.png
        # 继承关系和资源查找在python2中遵循MRO原则,但是按照栈原理会违背重写可用原则,所以python3中放弃使用
        # 通过print(Dad.mro())可以查看继承顺序


d = Dad()
d.test()
class Sun(Dad):
    pass


print(Sun.mro())  # [<class '__main__.Sun'>, <class '__main__.Dad'>, <class '__main__.Person'>, <class 'object'>]

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部