方法重载和重写的区别
来源:互联网 发布:统计学数据分析论文 编辑:程序博客网 时间:2024/06/06 10:51
经常会听到方法重载,方法重覆(覆写),以下用几个控制台程序小例子来说说他们的区别。
重载 : Overloading 当方法重载的时候方法的名称相同,但是参数类型或个数不同,发生的范围在同一个类中
重写override : Override (方法覆写)方法名称相同,参数类型或者数目不同或返回值不同,发生在子类中,在继承的的子类中经常 用到。
1.重载:
class Program
{
static void Main(string[] args)
{
int resultA = Add(10,20);
float resultB = Add(10.2f, 20.2f);
Console.WriteLine (resultA);
Console.WriteLine (resultB);
}
public static int Add(int a, int b) //方法1
{
int z = a + b;
return z;
}
public static float Add(float a, float b) //重载方法1,方法名相同,参数不同,并且在同一个类中
{
float z = a + b;
return z;
}
}
2.重写: (在继承子类中的应用)
class Program
{
static void Main(string[] args) //输出程序结果
{
GetOne one = new GetOne();
one.GetName();
GetTwo two = new GetTwo();
two.GetName();
}
public abstract class GetResult //抽象类
{
public abstract void GetName(); //抽象方法
}
public class GetOne : GetResult //继承抽象类
{
public override void GetName() //重写抽象类中的抽象方法
{
Console.WriteLine("One");
}
}
public class GetTwo : GetResult //继承抽象类
{
public override void GetName() //重写抽象类中的抽象方法
{
Console.WriteLine("Two");
}
}
}
总结 方法重载和方法重写的相同点和不同点:
都可以应用于抽象方法和非抽象方法之间
不同点 :
方法重载发生在同一个类的内部的方法内,而方法重写发生在继承关系中,子类重写了父类的方法
方法重载不要求方法的返回类型一致与否 而方法重写要求返回类型必须一致
方法重载要求方法的参数签名必须不一致,而方法重写要求方法的参数签名必须一致
方法重载对方法的访问权限和抛出异常没有限制,而方法重写对方法的访问权限和抛出异常有限制
- 方法重载和方法重写的区别
- 方法重写和方法重载的区别
- 方法重载和方法重写的区别
- 方法重载和方法重写的区别?
- 方法重写和方法重载的区别
- 方法的重载和重写的区别
- 方法重载和重写的区别
- 方法重载和重写的区别
- 方法重载和重写(覆盖)的区别
- 方法重载和重写的区别
- 方法重载和重写的区别
- 方法重载和重写的区别
- 方法重载,重写的区别
- 方法重载和方法重写的区别(转载)
- java重载方法和重写方法之间的区别
- Java中方法重载和方法重写的区别
- Java中方法重载和方法重写的区别
- 方法重载和方法覆盖/重写的区别
- 个性化你的shell提示符
- 用links方式安装Eclipse插件(TPTP插件)
- asp.net+jquery做的交通法规模拟考试
- PV、UV、IP都代表什么
- 基于Arcgis的投影坐标与经纬度坐标的相互转换代码
- 方法重载和重写的区别
- JSON入门教程
- POJ 1422 Air Raid 最小路径覆盖(二分图匹配)
- HTML小结(1)
- [易飞]单位成本异常处理
- Linux下获取本机IP
- Microsoft Visual Studio C 运行时库在 XXX.exe 中检测到一个错误。
- rsync 服务器架设方法及常见问题(转)
- Flash Player 10.1内部机制(第二部分)-执行模型之可变跑道