Когда в классе-наследнике не переопределен метод родительского класса, при вызове этого метода у экземпляра класса-наследника будет вызван метод, определенный в родительском классе.  Это ключевой принцип наследования: класс-наследник "унаследует" метод от родителя, если он не был заменен (переопределен) в самом классе-наследнике.  Python автоматически проходит по цепочке наследования вверх, чтобы найти запрошенный метод. Если метод найден в родительском классе (или далее по цепочке наследования), он и будет выполнен. Если метод не найден ни в самом классе-наследнике, ни в его родителях, будет вызвано исключение `AttributeError`.  Важно понимать, что при этом контекст `self` внутри метода родительского класса будет указывать на экземпляр класса-наследника, а не на экземпляр родительского класса.  Это позволяет методу родительского класса корректно взаимодействовать с атрибутами и методами, специфичными для класса-наследника.