[VB.NET]派生类用overloads关键字覆盖基类方法有什么意义?
2008-12-28 17:28
429 查看
派生类用overloads关键字覆盖基类方法有什么意义?
跟shadows比有何优点(缺点)
__________________________________________________________________________
再补充一个,如果overloads可以重写基类方法,还要overrides干嘛?
__________________________________________________________________________
顶
__________________________________________________________________________
为什么要有这个shadows,主要是因为程序版本的问题,一般而言,应该现有父类才能有派生类,但使用派生类者当然可以定义自己的方法,比如sayHello,但后来父类发现sayHello这个方法蛮好,也取了同名的方法(父类可不知道它的派生类已经用了这个方法名),那么,显然,如果你用父类的引用调用这个sayHello方法的时候最好还是调用父类自己的,而不是派生类的(这才符合你的程序的本意),当然这也是C#默认的处理方式,但这样编译器好歹在编译的时候会给你一个警告.
我们加上shadows的意思是告诉编译器 我知道我在干什么,你别来烦我 ,所以编译器就不哼了
同理这个shadows出来的方法只有子类对象自己能用的到,所以无论你是使用基类的引用还是接口的引用别人都访问不到.
而使用overrides则表明子类方法对父类方法的重写,这也就是我们经常所说的多态
有兴趣可以看看这个 http://www.microsoft.com/china/community/Column/6.mspx __________________________________________________________________________
相关文章推荐
- [技术] 在VB里面Me关键字有什么意义呢
- ”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
- [VB.NET]往数组尾部加一项的方法是什么方法?
- 【protected权限】java浅复制、深复制中,为什么在派生类中覆盖基类的clone()方法,并声明为public
- static关键字是什么意思?java中是否可以覆盖一个private方法或者static方法
- 基类和派生类中的方法覆盖
- [VB.NET]请问往picturebox中写入文字,用什么方法?
- 类的 继承 使用关键字 extends 单向 重载基类 派生类访问基类的方法 基类名::基类方法或属性
- java 子类可以继承父类中的什么,子类中方法覆盖,final关键字的含义
- “static”关键字是什么意思?Java中是否可以覆盖(override)一个private 或者是static的方法?
- VB.NET下如何利用ExecuteScalar方法及select @@Identity获得“自动编号”的关键字
- 使用VB.net和VB编写DLL组件的方法
- 利用两种VB.NET串联运算符方法讲解
- 派生类的对象访问基类中被派生类覆盖或隐藏了的函数或变量
- ASP.NET页面跳转有什么方法呢?
- 通过string.Split()方法,谈谈VB.NET编译器和C#编译器的一点差别!
- 关于asp.net使用word模板的新方法,及替换xml文件关键字的方法!
- VB.NET程序运行耗时精确计量方法之一
- VB.NET与VB6的比较:被撤销的关键字和函数
- 尝试创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,为子类创建一个对象,将它向上转型到基类并调用这个方法。