Цитата:
|
если где-то будет обращение к свойству другого наследника Character (например Enemy), я сразу получу ошибку в рантайме?
|
Ты получишь ошибку
компиляции при обращении к свойству Enemy или Hero, без разницы.
Ты объявил переменную как Character. Абсолютно неважно, что ты туда запихаешь в рантайме. Компилятор видит, что ты пытаешься вызвать несуществующий метод именно у Character. Это тип переменной, и он не зависит от того, какой конкретно объект туда записан.