码迷,mamicode.com
首页 > 编程语言 > 详细

Python类之super()与私有属性

时间:2020-06-12 20:19:47      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:self   私有属性   pre   code   mon   super   极限   继承   money   

super()有参数写法:

# 1.定义父类
class A(object):
    def __init__(self):
        self.num = 1
    def info_print(self):
        print(self.num)

class C(A):
    def __init__(self):
        self.num = 2
    def info_print(self):
        print(self.num)
        super(C, self).__init__()
        super(C, self).info_print()
# 2. 定义子类,继承父类

class B(C):
    def __init__(self):
        self.num = 3

    def info_print(self):
        self.__init__()
        print(self.num)

    def print_A(self):
        A.__init__(self)
        A.info_print(self)

    def print_C(self):
        C.__init__(self)
        C.info_print(self)

    def print_AC(self):
        super(B, self).__init__()
        super(B, self).info_print()

b = B()
b.print_AC()

super()用于调用父类的方法

无参写法:

super().__init__()
super().info_print()

使用super()方法可以自动查找父类,查找顺序遵循__mro__类属性的顺序

 

 

私有属性与方法

设置私有极限的方法:在属性名和方法名前面加上两个下划线__

设置之后设置的实例属性或实例方法不继承给子类

 

获取和修改私有属性:

在类中添加函数:

def get_money(self):
    return self.__money
def set_money(self, money):
    self.__money = money

 

Python类之super()与私有属性

标签:self   私有属性   pre   code   mon   super   极限   继承   money   

原文地址:https://www.cnblogs.com/enoch-m/p/13108128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!