今天同学发来一个问题,让我很纠结!!
/// <summary> /// 显示信息 /// </summary> /// <param name="message"></param> public void ShowMessage(string message) { ShowMessage(message, true); } /// <summary> /// 显示信息(是否清空前面信息) /// </summary> /// <param name="message"></param> /// <param name="clearExistingMessages"></param> public void ShowMessage(string message, bool clearExistingMessages) { if (clearExistingMessages) this.Message = message; else this.Message += " " + message; this.ShowMessagePanel = true; this.Visible = true; }
虽然我不懂C#,但是他跟我说这个是多态我就很郁闷了,我怎么看也就是函数重载啊!!然后查资料,结果如下
重载和多态是两个概念。
重载:是说方法的重载。
要求是
1:相同的方法名。
2:参数列表不同(也就是参数的类型不同 或者是 参数的个数不同 再或者是 参数出现的次序不同)
3:返回值可以不同,但是最好是相同的。
多态:只有在发生继承的时候才会出现多态。
多态又分为 类的多态 和 方法的多态(就是方法的重写)。
答案补充
上面说的多态是类多态!!!
多态一般分为:
1.基本类型的多态
2.方法的多态
3.类和接口的多态
4.传参的多态
而一般说的 多态 都是特指 类和接口 的多态。
其实方法的多态就是方法的 重载和重写。
重载就是方法多态的一种,而多态是分很多种的,所以不能说它们两个是一样的。
结果,方法原来也有多态,我很纠结,第一次知道!!