C#_方法的重载

时间:2022-04-29 06:09:38
  1. 方法的重载是一种操作性多态,有的时候,可能需要在多个不同的实现中对不同的数据执行相同的逻辑操作,以writeline方法为例,有时可能想他传递一个整数。两者的具体实现肯定是不同的,但在逻辑上,这个方法负责的是输出数据,至于方法内部具体是如何实现的,很多读者不关心。
  2. 在面向对象这样的高级语言中,都允许在一个类中定义多个方法名相同、方法中参数个数和参数顺序不同方法,对于参数个数不同或者参数列表不同情况称之为参数列表不同。
  3. 需要注意的是这里没有提到方法的返回值。

代码示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _8._8_方法的重载
{
class Program
{
/// <summary>
/// 重载方法1:求圆的面积
/// </summary>
/// <param name="redius">半径</param>
static void writeArea(int radius)
{
double area = System.Math.PI * radius * radius;
Console.WriteLine("您求的圆的面积是:" + area);
}
/// <summary>
///重载方法2: 求矩形的面积
/// </summary>
/// <param name="width">宽度</param>
/// <param name="height">高度</param>
static void writeArea(int width, int height)
{
int area = width * height;
Console.WriteLine("您求的矩形面积是:" + area);
}
/// <summary>
/// 重载方法3:求三角形的面积
/// </summary>
/// <param name="a">第一个边</param>
/// <param name="b">第二个边</param>
/// <param name="c">第三个边</param>
static void writeArea(int a, int b, int c)
{
double p = (a + b + c) / 2;
double area = System.Math.Sqrt(p * (p - a) * (p - b) * (p - c));
Console.WriteLine("您求的三角形的面积为:" + area);
}
static void Main(string[] args)
{
//利用重载方法进行调用方法
writeArea(3);
writeArea(3, 4);
writeArea(3, 4, 5);
Console.ReadKey();
}
}
}

多个方法名相同、方法中参数个数和参数顺序不同方法