黑马程序员技术交流社区

标题: 关于逆变和协变不是很懂? [打印本页]

作者: 李东城    时间: 2013-2-11 15:01
标题: 关于逆变和协变不是很懂?
msdn上大概的意思是
协变是子类可以变为父类
逆变是父类可以变为子类。

1.正常情况下,子类是直接可以转变为父类的啊。。。那要协变有什么用?
2.逆变是父类可以变为子类,这样就不安全了啊,子类有的东西父类是肯定没有的,要是转换了之后,要调用子类的成员不就出异常了吗??
作者: 刘明杰    时间: 2013-2-11 16:35
类本身就是一个数据类型,就像objec和string一样, string类型可以隐士转换为object类型,但是你需要把string类型转换成object类型的时候,就要进行显示类型转换了,显示类型转换可能会报错或丢失精度,所有要进行显示类型转换的时候心里要知道行不行, 比如:double显示转int 可能会丢失精度,但不会报错。 string c = "abc", d = (int)c;这样就报错了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2