子类对象可以被当成基类对象使用。
Parent p;
Son c = new Son ();
p = c; //正确,子类对象可以传给父类变量
c = p; //错误,父类对象变量不可以直接赋值给子类变量
如果确信父类变量中所引用的对象的确是子类类型,则可以通过类型强制转换进行赋值,其语法格式为:
子类对象变量=(子类名称)基类对象变量;
或使用as 运算符
子类对象变量=基类对象变量 as 子类名称;
示例代码如下:
c = (Child)p; //正确,父类对象变量引用的就是子类对象
或
c = p as Child ;