Я читаю документацию по Python 3.7.И меня очень смущают следующие предложения:
"Производные классы могут переопределять методы своих базовых классов. Поскольку методы не имеют специальных привилегий при вызове других методов того же объекта, метода базового классакласс, который вызывает другой метод, определенный в том же базовом классе, может в конечном итоге вызвать метод производного класса, который переопределяет его (для программистов на C ++: все методы в Python являются фактически виртуальными.) "
Можете ли вы показать мне пример кода , что «базовый класс, который вызывает другой метод, определенный в том же базовом классе, может в итоге вызвать метод производного класса, который переопределяет его»?И вот мое понимание:
class A:
def me(self):
print("This is A")
def idet(self):
self.me()
class B(A):
def me(self):
print("this is B")
a = A()
b = B()
b.me()
b.idet()
результат
this is B
this is B
Я не уверен, так ли это.
Ипоследний вопрос что означает «все методы в Python являются фактически виртуальными»?(Я знаком с Java, но не C ++)