C# 中关于重载与重写的区别及用法
程序员文章站
2022-08-28 20:16:08
1、重载(overload): 在同一个作用域(一般指一个类)的两个或多个方法函数名相同,参数列表不同的方法叫做重载,它们有三个特点(俗称两必须一可以): 方法名必须相同 参数列表必须不相同 返回值类型可以不相同 例如: 2、重写(override):子类中为满足自己的需要来重复定义某个方法的不同实 ......
1、重载(overload): 在同一个作用域(一般指一个类)的两个或多个方法函数名相同,参数列表不同的方法叫做重载,它们有三个特点(俗称两必须一可以):
- 方法名必须相同
- 参数列表必须不相同
- 返回值类型可以不相同
例如:
public void sleep() { console.writeline("animal睡觉"); } public int sleep(int time) { console.writeline("animal{0}点睡觉", time); return time; }
2、重写(override):子类中为满足自己的需要来重复定义某个方法的不同实现,需要用 override 关键字,被重写的方法必须是虚方法,用的是 virtual 关键字。它的特点是(三个相同):
- 相同的方法名
- 相同的参数列表
- 相同的返回值
如:父类中的定义:
public virtual void eatfood() { console.writeline("animal吃东西"); }
子类中的定义:
public override void eatfood() { console.writeline("cat吃东西"); }
上一篇: 福州脱胎漆器价格怎么样?福州脱胎漆器有什么特别之处?
下一篇: 换位思考的本质