基类、子类之间的类型转换
作者:互联网
对象引用可以隐式
向上转换为基类引用显式
地向下转换为子类引用
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
示例代码
参考资料
标签:类型转换,Plant,Console,PositivePlant,子类,plant,WriteLine,基类,positivePlant 来源: https://blog.51cto.com/u_15180952/2732713