对象引用可以隐式
向上转换为基类引用显式
地向下转换为子类引用
Plant是PositivePlant和NegativePlant的基类
PositivePlant positivePlant = new PositivePlant() { Name = "阳性植物", MinimumSurvivalTemperature = 10 }; //子转基:隐式 Plant plant = positivePlant; //Plant plant = (Plant)positivePlant;//正确的写法 //基转子:显式 PositivePlant convertFromPlant = (PositivePlant)plant; //PositivePlant convertFromPlant = plant;//错误的写法 Console.WriteLine($"positivePlant == plant:{positivePlant == plant}");//true Console.WriteLine($"positivePlant == convertFromPlant:{positivePlant == convertFromPlant}");//true //as运算符 Plant plant2 = positivePlant as Plant; PositivePlant convertFromPlant2 = plant2 as PositivePlant; Console.WriteLine($"positivePlant == plant2:{positivePlant == plant2}");//true Console.WriteLine($"positivePlant == convertFromPlant2:{positivePlant == convertFromPlant2}");//true