日期:2014-05-20  浏览次数:20824 次

问个继承的问题
我以前以为继承的类中 同名 同参函数 必须用 override 或者new 关键字 声明

今天发现不用这些关键字 也可以 


用和不用有声明区别啊?

------解决方案--------------------
http://msdn.microsoft.com/zh-cn/library/6fawty39.aspx
------解决方案--------------------
override new 在派生类中提供新的实现代码---这个你知道

继承的一个结果是派生于积累的类在方法和属性上有一定的重叠,因此,可以用相同的语法处理从同一个基类实例化的对象------------多态在这个基础上更进一步---------看书--------
------解决方案--------------------
http://msdn.microsoft.com/zh-cn/library/ms173153.aspx
------解决方案--------------------
不加修饰符就是new,一般来讲打断继承链是不良设计...除非有特殊需要,此时良好的规范要求必须加new修饰符和注释,否则容易引起误解,VS也会给出警告提示...
------解决方案--------------------
可以吗?会警告的吧
默认会加new
------解决方案--------------------
override 就是重写,调用子类的方法属性时不会访问到父类的.
new 隐藏,将子类转换为父类的类型时依然可以访问被隐藏的..
------解决方案--------------------
你用override 父类可以调用你子类方法
你用new 父类只会调用自己的方法

这个是为了父类实现多态而存在的