当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > ASP.NET:小编浅谈.NET多态中的重写与重载

ASP.NET
ASP.NET:小编教你使用Substitution控件在缓存页面插入内容
ASP.NET:网络上实现单点登录
ASP.NET:小编浅谈泛型的使用
ASP.NET:网络验证的一些技巧杂谈
ASP.NET:小编教你实现数字和英文字母组合的验证码图片
ASP.NET:页面尺寸自动适应 1024*768和800*600分辨率
ASP.NET:如何复制数组中一系列元素的元素
ASP.NET:小编谈用Remoting技术传送文件

ASP.NET:小编浅谈.NET多态中的重写与重载


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 197 ::
收藏到网摘: n/a

覆写基础篇

覆写,又称重写,就是在子类中重复定义父类方法,提供不同实现,存在于有继承关系的父子关系。当子类重写父类的虚函数后,父类对象就可以根据根据赋予它的不同子类指针动态的调用子类的方法。从示例的分析,总结覆写的基本特征包括:

.NET中只有以virtualabstract标记的虚方法和抽象方法才能被直接覆写。

覆写以关键字override标记,强调继承关系中对基类方法的重写。

 覆写方法要求具有相同的方法签名,包括:相同的方法名、相同的参数列表和相同的返回值类型。

概念:虚方法 虚方法就是以virtual关键字修饰并在一个或多个派生类中实现的方法,子类重写的虚方法则以override关键字标记。

虚方法调用,是在运行时确定根据其调用对象的类型来确定调用适当的覆写方法。.NET默认是非虚方法,如果一个方法被virtual标记,则不可再被staticabstrcatoverride修饰。 概念:抽象方法 抽象方法就是以abstract关键字修饰的方法,抽象方法可以看作是没有实现体的虚方法,并且必须在派生类中被覆写,如果一个类包括抽象方法,则该类就是一个抽象类。因此,抽象方法其实隐含为虚方法,只是在声明和调用语法上有所不同。abstractvirtual一起使用是错误的。

重载基础篇

 重载存在于同一个类中。

 重载方法要求具有相同的方法名,不同的参数列表,返回值类型可以相同也可以不同(通过operator implicit 可以实现一定程度的返回值重载,不过不值得推荐)。

 .NET 2.0引入泛型技术,使得相同的参数列表、相同的返回值类型的情况也可以构成重载。