zoukankan      html  css  js  c++  java
  • python私有变量和方法

    python私有变量和方法

    1,私有变量和私有方法无法被继承

    2,私有变量和私有方法可以放在普通方法(实例方法)里面被子类继承

    class A:  
        def __init__(self, name):
            self.name = name
            self.__age = 10
    def __eat(self): print('吃饭')
    def sleeping(self): print(self.name) self.__eat() print('睡觉') print(str(self.__age) + " 岁了") class B(A): pass obj = B("小明") obj.sleeping() 输出: 小明 吃饭 睡觉 10 岁了

    3,私有变量和私有方法可以放在普通方法(实例方法)里面被子类继承,但是子类无法重写覆盖

         也就是说:在继承中,父类如果不想让子类覆盖自己的方法,可以将方法定义为私有方法

    class A:
        def fa(self): #在定义时就变形为_A__fa
            print('from A')
        def test(self):
            self.fa() #只会与自己所在的类为准,即调用_A__fa
    
    class B(A):
        def fa(self):
            print('from B')
    
    b=B()
    b.test()
    
    输出:::::::
    from B
    class A:
        def __fa(self): #在定义时就变形为_A__fa
            print('from A')
        def test(self):
            self.__fa() #只会与自己所在的类为准,即调用_A__fa
    
    class B(A):
        def __fa(self):
            print('from B')
    
    b=B()
    b.test()
    
    输出:::::::::
    from A
  • 相关阅读:
    「题解」:$Six$
    「题解」:$Smooth$
    AFO
    纪念——代码首次达到近50K(更新:78.8K 2019行)
    meet-in-the-middle 基础算法(优化dfs)
    莫队学习笔记
    树链剖分学习笔记
    常用数论模板
    图论模板
    高精度模板(结构体封装,重载运算符)
  • 原文地址:https://www.cnblogs.com/111testing/p/13659577.html
Copyright © 2011-2022 走看看