Здравствуйте, Дарней, Вы писали:
Д>3) Объект не может менять свой тип.
Это верно для языков со статической типизацией (С++/Java).
В динамически-типизированных язаках (Smalltalk, Python) мы можем говорить о типе объекта только когда начнем этот объект использовать.