繁体   English   中英

如何在超类中定义属性但在子类中访问其值?

[英]How to define property in super class but access its value in subclass?

我想定义超API的A ,并使用data直接在子类物业B ,但它试图访问__dataA apprently。

我期待在输出中看到[4, 5]

class A(object):
    def __init__(self):
        self.__data = [1, 2, 3]

    @property
    def data(self):
        return self.__data  


class B(A):
    def __init__(self):
        self.__data = [4,5]


b = B()
print b.data
# AttributeError: 'B' object has no attribute '_A__data'
class A(object):
    def __init__(self):
        self._data = [1, 2, 3]

    @property
    def data(self):
        return self._data  

    @data.setter
    def data(self, value):
        self._data = value

class B(A):
    def __init__(self):
        super(B, self).__init__()
        self.data = [4, 5]

b = B()
print(b.data)

# [4, 5]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM