<>重载(overload):
一个类中的方法与另一个方法同名,但是参数列表不同,这种方法称之为重载方法。简易记法:
两同一不同:同类,同名(方法名),不同参。返回结果的类型没有必需要求(可同可异),实例效果如下: class Program { static void
Main(string[] args) { overLoad load = new overLoad();
Console.WriteLine(load.Speak()); Console.WriteLine(load.Speak("cat"));
Console.WriteLine(load.Speak(3)+":我是重载,返回float类型"); Console.ReadKey(); }
#region 重载:两同一不同(同类、同名、不同参),返回类型随意 public class overLoad //在同类中对Speak方法进行重载 {
public string Speak() //空参,返回string类型 { return "1:我是重载,返回string类型"; } public
string Speak(string animal) //传入string参数,返回string类型 { return string.Format(
"2:我是重载,返回类型{0}",animal.GetType()); } public float Speak(float i)
//传入float参数,返回float类型 { return i; } } #endregion }
运行结果如下:

<>重写(override):
当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。
三同一不同:同名、同参、同返、不同类,执行的方法体不同但返回的结果类型相同 class Program { static void Main(string[]
args) { Dog dog = new Dog(); dog.Say(); } public class Animal //父类 { public
virtual void Say() //父类中的方法用virtual、abstract声明 { Console.WriteLine("Oh~Oh~Oh");
} } public class Dog : Animal //子类 { public override void Say() //重写父类中关键字声明的方法
{ Console.WriteLine("Wang~Wang~Wang"); } } }
运行如下:

<>总结:重载——两同一不同;重写——三同一不同

技术
©2019-2020 Toolsou All rights reserved,
HashMap详解某东14薪变16薪,是诚意还是套路?浏览器内核(理解)java四大函数式接口(重点,简单)html写樱花树,写樱花树的作文让人意想不到的Python之樱花树(turtle库的华丽样式)os模块的简单使用