summaryrefslogtreecommitdiff
path: root/test/input/func_class_access_protected_members.py
blob: f2ad5b7aeb647a062dbc30b58c66add2f1597fd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# pylint: disable=R0903, C0111, W0231
"""test external access to protected class members"""

__revision__ = ''

class MyClass(object):
    _cls_protected = 5

    def __init__(self, other):
        MyClass._cls_protected = 6
        self._protected = 1
        self.public = other
        self.attr = 0

    def test(self):
        self._protected += self._cls_protected
        print self.public._haha

    def clsmeth(cls):
        cls._cls_protected += 1
        print cls._cls_protected
    clsmeth = classmethod(clsmeth)

class Subclass(MyClass):

    def __init__(self):
        MyClass._protected = 5

INST = Subclass()
INST.attr = 1
print INST.attr
INST._protected = 2
print INST._protected
INST._cls_protected = 3
print INST._cls_protected