blob: 809e7dcc6718929e94094d922d1e25cac7299f52 (
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
37
38
|
# pylint: disable=too-few-public-methods, W0231, print-statement
"""Test external access to protected class members."""
class MyClass(object):
"""Class with protected members."""
_cls_protected = 5
def __init__(self, other):
MyClass._cls_protected = 6
self._protected = 1
self.public = other
self.attr = 0
def test(self):
"""Docstring."""
self._protected += self._cls_protected
print self.public._haha # [protected-access]
def clsmeth(cls):
"""Docstring."""
cls._cls_protected += 1
print cls._cls_protected
clsmeth = classmethod(clsmeth)
class Subclass(MyClass):
"""Subclass with protected members."""
def __init__(self):
MyClass._protected = 5
INST = Subclass()
INST.attr = 1
print INST.attr
INST._protected = 2 # [protected-access]
print INST._protected # [protected-access]
INST._cls_protected = 3 # [protected-access]
print INST._cls_protected # [protected-access]
|