I want need a virtual mechanism in Python and was implemented as below:
class A() :
def __init__(self) :
self.level()
def level(self) :
print("At level A")
class B(A)
def level(self) :
print("At level B")
It worked as expected:
>>>b = B()
At level B
Then I wanted to keep level() function in private by changing function's name into __level():
class A() :
def __init__(self) :
self.__level()
def __level(self) :
print("At level A")
class B(A)
def __level(self) :
print("At level B")
But it didn't work:
>>>b = B()
At level A
The virtual mechanism magically lost when the function became private! Can someone help to explain why?