方法的重载和重写都是建立在继承的前提下的,都是子类对父类方法的改变操作。
重写
重写是子类(派生类)的方法覆盖父类(基类)的方法,即在子类中重新定义父类中的方法,子类中定义某方法与其父类有相同的名称和参数。在基类中的方法必须有修饰符virtual,而在子类中的方法必须指明override。
程序示例
...
父类中
Public virtual void Method()
{
}
子类中:
Public override void Method()
{
}
...
注意事项
1.方法名称必须相同,参数也相同
2.覆盖的方法的返回值必须和被覆盖的方法的返回值一致
3.被覆盖的方法不能为private。
重载
重载,是在同一个类中的两个或两个以上的方法拥有相同的方法名,但是参数却不相同,方法体也不相同。根据参数选择调用的方法。其中,构造函数就是最常见的方法重载的例子。
程序示例
Public void Test(int x,int y)
{
}
Public void Test(int x,ref int y)
{
}
Public void Test(int x,int y,string a)
{
}
注意事项
方法名称必须相同,参数必须不同
返回值类型可以不相同