Ссылочные типы и полиморфизм, приведение пользовательских типов - C#
Формулировка задачи:
Здравствуйте! Не могу въехать в одну концепцию, а именно - приведение пользовательских типов.
Если приведение встроенных типов не вызывает недопониманий:
То приведение пользовательских типов вызывает вопрос.
Почему я не могу привести базовый типа в производный? Аналогичная ситуация с потерей данных? Если да, то что может потеряться? Формально конечно я знаю, что нельзя преобразовать базовый тип в производный, но логики не улавливаю.
Возможно я не совсем правильно понимаю что означает тип (переменная типа), в частности в контексте C#.
О, уважаемые! Прошу помощи.
int i = 250; // Ошибка! Т.к возможна потеря данных, ибо максимальное значение типа byte = 255, а у int 2 147 483 647 byte b = i;
Решение задачи: «Ссылочные типы и полиморфизм, приведение пользовательских типов»
textual
Листинг программы
class Animal {} class Cat : Animal {} class Dog : Animal {} Cat cat = new Cat(); Animal someAnimal = cat; Dog dog = someAnimal; // (cat)... WTF?!
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д