Его так как в соответствии с правилом OOD вы можете назначить дочерний элемент родительскому, но вы не можете назначить родителя ребенку.
//this possible as you re assigning child to parent
ABC abc = new DEF(); //No error
//this is illegal as you are trying to assign child to parent directly
DEF def = new ABC(); //Compile time error
Пересмотрите свой дизайн, или, если вы хотите, чтобы преобразовать родительский объект для ребенка, чем нужно метод для этого преобразования непосредственно его не представляется возможным, чтобы сделать это в соответствии с правилами OOD.
Рассмотрите пример отношения клиентов в реальном времени и RetailCustomer или Corporatecustomer банка. Если вы легко можете сказать, что RetailCustomer или CorporateCustomer - это Клиент, но вы не можете сказать, что Клиент является RetailCustomer или CorporateCustomer, потому что клиент может быть любого типа.
То же касается отношений между родительским классом формы и дочерним прямоугольником, кругом и т. Д. Классом.
эта ссылка очищено все. Большое спасибо –