Ответ 1
Вы правы, книга неверна или, по крайней мере, плохо сформулирована
Я бы сказал, что книга просто неверна, или, в лучшем случае, она делает довольно грязное объяснение.
На всех языках OO суперкласс и производный класс не имеют отдельных объектов. Когда вы создаете экземпляр производного класса, он также является экземпляром суперкласса. Существует один объект, и это одновременно оба класса.
Поскольку существует только один объект, существует только один набор переменных экземпляра.
Это то же самое, что и все другие OO-системы. Странный аргумент, который делает книга о том, как это просто важно, какой метод запущен и как сами методы являются тем, что действительно унаследовано, мало чем отличается от ясности.
Проблема с терминологией заключается в том, что, конечно, в динамически типизированной системе нет объявления в первую очередь, и поэтому, конечно, определение подкласса не наследует никаких объявлений полей... потому что, конечно, Нет. Но только потому, что нет типов для наследования, не делает противоположный оператор ( "переменные экземпляра не наследуются" ) более достоверен, и он добавляет довольно немного путаницы, поскольку подразумевает, что каким-то образом у родителя будут разные переменные экземпляра, что является бессмысленным результатом попытки говорить об объектах так, как они это делают.