ASP.NET中重载
Override重载
就是在同一个类中存在多个同名的方法,而这些方法的参数列表和返回值类型不同。值得注意的是,重载的概念并非面向对象编程的范畴,从编译器角度理解,不同的参数列表、不同的返回值类型,就意味着不同的方法名。也就是说,方法的地址,在编译期就已经确定,是这一种静态绑定。
重载具有如下的特征:
1、方法名必须相同
2、参数列表必须不相同,与参数列表的顺序无关
3、返回值类型可以不相同
public class MyClass
{
public void Write(string _str)
{
//
}
public void Write(string _str, string _target)
{
//
}
public bool Write(string _str, string _target, bool _flag)
{
//
}
}
覆写
又称重写,就是在子类中重复定义父类方法,提供不同实现,存在于有继承关系的父子关系。当子类重写父类的虚函数后,父类对象就可以根据根据赋予它的不同子类指针动态的调用子类的方法。
在.NET中只有以virtual和abstract标记的虚方法和抽象方法才能被直接覆写。
覆写以关键字override标记,强调继承关系中对基类方法的重写。
覆写方法要求具有相同的方法签名,包括:相同的方法名、相同的参数列表和相同的返回值类型。
覆写具有如下特征:
1、通过使用关键字Override来覆写
2、虚方法和抽象方法直接可以被覆写
3、相同的方法名
4、相同的参数列表
5、相同的返回值类型
实例;
public abstract class BaseClass
{
public abstract void Write(string _str);
}
public class SubClass : BaseClass
{
public override void Write(string _str)
{
//
}
}