Производный тип -- это всегда более конкретный вариант базового. Пускай вместо базового типа будет "Рыба", а вместо производного -- "Селёдка".

Тогда совершенно очевидно, что писать



можно: ваша `р` -- рыба, например, селёдка, почему бы и нет.

Но писать наоборот:



нельзя: рыба ведь не обязательно селёдка, правда?

Можно использовать преобразование типов:



Как проверить, рыба ли ваша селёдка? Этого не нужно: `Селёдка` наследник `Рыбы`, то есть каждая `Селёдка` обязательно `Рыба`.

Как проверить, селёдка ли ваша рыба? Очень просто:



      ©пизжено