ASP.NET——小编浅谈.NET多态中的重写与重载
2009-08-04 15:27
225 查看
覆写基础篇
覆写,又称重写,就是在子类中重复定义父类方法,提供不同实现,存在于有继承关系的父子关系。当子类重写父类的虚函数后,父类对象就可以根据根据赋予它的不同子类指针动态的调用子类的方法。从示例的分析,总结覆写的基本特征包括:
在.NET中只有以virtual和abstract标记的虚方法和抽象方法才能被直接覆写。
覆写以关键字override标记,强调继承关系中对基类方法的重写。
覆写方法要求具有相同的方法签名,包括:相同的方法名、相同的参数列表和相同的返回值类型。
概念:虚方法 虚方法就是以virtual关键字修饰并在一个或多个派生类中实现的方法,子类重写的虚方法则以override关键字标记。
虚方法调用,是在运行时确定根据其调用对象的类型来确定调用适当的覆写方法。.NET默认是非虚方法,如果一个方法被virtual标记,则不可再被static、abstrcat和override修饰。 概念:抽象方法 抽象方法就是以abstract关键字修饰的方法,抽象方法可以看作是没有实现体的虚方法,并且必须在派生类中被覆写,如果一个类包括抽象方法,则该类就是一个抽象类。因此,抽象方法其实隐含为虚方法,只是在声明和调用语法上有所不同。abstract和virtual一起使用是错误的。
重载基础篇
重载,就是在同一个类中存在多个同名的方法,而这些方法的参数列表和返回值类型不同。值得注意的是,重载的概念并非面向对象编程的范畴,从编译器角度理解,不同的参数列表、不同的返回值类型,就意味着不同的方法名。也就是说,方法的地址,在编译期就已经确定,是这一种静态绑定。从示例中,我们总结重载的基本特征包括:
重载存在于同一个类中。
重载方法要求具有相同的方法名,不同的参数列表,返回值类型可以相同也可以不同(通过operator implicit 可以实现一定程度的返回值重载,不过不值得推荐)。
.NET 2.0引入泛型技术,使得相同的参数列表、相同的返回值类型的情况也可以构成重载。
转载请注明出处: 程序员之家 http://www.sunxin.org
覆写,又称重写,就是在子类中重复定义父类方法,提供不同实现,存在于有继承关系的父子关系。当子类重写父类的虚函数后,父类对象就可以根据根据赋予它的不同子类指针动态的调用子类的方法。从示例的分析,总结覆写的基本特征包括:
在.NET中只有以virtual和abstract标记的虚方法和抽象方法才能被直接覆写。
覆写以关键字override标记,强调继承关系中对基类方法的重写。
覆写方法要求具有相同的方法签名,包括:相同的方法名、相同的参数列表和相同的返回值类型。
概念:虚方法 虚方法就是以virtual关键字修饰并在一个或多个派生类中实现的方法,子类重写的虚方法则以override关键字标记。
虚方法调用,是在运行时确定根据其调用对象的类型来确定调用适当的覆写方法。.NET默认是非虚方法,如果一个方法被virtual标记,则不可再被static、abstrcat和override修饰。 概念:抽象方法 抽象方法就是以abstract关键字修饰的方法,抽象方法可以看作是没有实现体的虚方法,并且必须在派生类中被覆写,如果一个类包括抽象方法,则该类就是一个抽象类。因此,抽象方法其实隐含为虚方法,只是在声明和调用语法上有所不同。abstract和virtual一起使用是错误的。
重载基础篇
重载,就是在同一个类中存在多个同名的方法,而这些方法的参数列表和返回值类型不同。值得注意的是,重载的概念并非面向对象编程的范畴,从编译器角度理解,不同的参数列表、不同的返回值类型,就意味着不同的方法名。也就是说,方法的地址,在编译期就已经确定,是这一种静态绑定。从示例中,我们总结重载的基本特征包括:
重载存在于同一个类中。
重载方法要求具有相同的方法名,不同的参数列表,返回值类型可以相同也可以不同(通过operator implicit 可以实现一定程度的返回值重载,不过不值得推荐)。
.NET 2.0引入泛型技术,使得相同的参数列表、相同的返回值类型的情况也可以构成重载。
转载请注明出处: 程序员之家 http://www.sunxin.org
相关文章推荐
- ASP.NET的地址重写“.NET研究”(URLRewriter)实现原理及代码示例
- 一起谈.NET技术,ASP.NET下用URLRewriter重写二级域名
- 一起谈.NET技术,浅谈ASP.NET 4中构造HTML5视频控件
- ASP.NET“.NET研究”下用URLRewriter重写二级域名
- ASP.NET:小编浅谈泛型的使用
- 一起谈.NET技术,ASP.NET的地址重写(URLRewriter)实现原理及代码示例
- 浅谈ASP.NET 4中构造“.NET研究”HTML5视频控件
- 浅谈重写、重载、继承、多态
- 一起谈.NET技术,浅谈ASP.NET MVC
- 重写、覆盖、重载、隐藏、多态几个概念的区别分析 http://blog.csdn.net/yukin_xue/article/details/7437742
- 一起谈.NET技术,提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成
- 一起谈.NET技术,细数ASP.NET MVC框架的7大顶级功能
- 在 ASP.NET 中执行 URL 重写
- ASP.NET中Url重写后,打不开真正的Html页面
- 浅谈ASP.NET 缓存技术
- 浅谈缓存技术在ASP.NET中的运用
- .Net_什么是ASP.Net
- asp.net 使用页适配器和重写Render对全站输出的页面的HTML内容进行修改,不会错乱
- .NET:七道最经典的asp.net页面传值题
- .NET开发 程序员必备工具 -- ASPNET Version Switcher:ASPNET版本转换器