首页 > 代码库 > C#父类对象和子类对象之间的转化
C#父类对象和子类对象之间的转化
1. 子类到父类
Chinese c = new Chinese();
Person p1 = c; //从变量c看是一个中国人,所以可以把人的标签贴上去
2. 父类到子类
Chinese c2 = p1; //从变量p1看是一个人,不能随便把中国人的标签贴上去
不成功,必须显式转化如下,两种方式:
(1)Chinese c2 = (Chinese)p1;
(2)Chinese c2 = p1 as Chinese;
上面两种方式的区别,看如下代码
p1 = new Japanese(); //注意:p1调用这个变量的方法,不能调用Japanese对象的方法
Chinese c2 = (Chinese)p1; //会抛异常,非法转换,因为此时p1指向的是一个日本人,所以不能转换为中国人
CHinese c3 = p1 as Chinese; //转换失败不报错,结果是null
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。