方法的重载
- 调用重载方法的示例
- 声明带有重载的方法
- 方法的签名(method signature)由方法的名称、类型形参的个数和它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。方法签名不包含返回类型。
- 实例构造函数签名由它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。
- 重载决策(到底调用哪一个重载):用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳的函数成员来实施调用。
在Console类中,定义了19个叫做WriteLine的方法,但这19个方法的签名各不相同。这就是WriteLine方法的重载,以及怎么调用带有重载的方法。
using System;
namespace Overload
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello");
Console.WriteLine(100);
Console.WriteLine(200L);
Console.WriteLine(300D);
}
}
}
带有重载的方法
using System;
namespace Overload
{
class Program
{
static void Main(string[] args)
{
Calculator c = new Calculator();
Console.WriteLine(c.Add(1,2)); //重载决策
Console.WriteLine(c.Add(1,2,3));
Console.WriteLine(c.Add(1.1, 2.2));
}
}
class Calculator
{
public int Add(int a,int b)
//方法的名称Add,形参a,类型int
{
return a + b;
}
public int Add(int a,int b,int c)
{
return a + b + c;
}
public double Add(double a, double b)
{
return a + b;
}
}
}