Базовый вопрос по наследованию
От: zfima  
Дата: 04.02.11 11:15
Оценка:
Скажем, есть базовый и наследуемые классы: B и D

class Base
{
//...
}

class Derived: Base
{
//...
}



И, конечно можно ссылке на базовый класс присвоить ссылку на объект производного класса
Derived der1 = new Derived();
Base base1 = der1;
Ну, а потом, можно так:
Derived der2 = base1;

А вот так не "прокатит":
Base base2 = new Base();
Derived der3 = base2;
Т.к base2 не является ссылкой на объект типа Derived

Вопрос: как вообще объект базового класс может "знать", что указывает на более расширенный класс? Он, как бы, должен быть расширенным классом, чтобы знать об этом...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.