4e1548abe2
Part1
90 lines
2.3 KiB
C#
90 lines
2.3 KiB
C#
using System;
|
|
namespace Lesson
|
|
{
|
|
class Program
|
|
{
|
|
#region 知识点一 基本概念
|
|
//重载概念
|
|
//在同意语句块class或struct中
|
|
//函数(方法)名相同
|
|
//参数的数量不同
|
|
//或者
|
|
//函数的数量相同,但参数的类型或顺序不同
|
|
|
|
//作用:
|
|
//1.命名一组功能相似的函数,减少函数名的数量,避免命名空间的污染
|
|
//2.提升程序可读性
|
|
#endregion
|
|
|
|
|
|
|
|
#region 知识点二 实例
|
|
//注意:
|
|
//1.重载和返回值类型没有关系,之和参数类型,个数,顺序有关
|
|
//2.调用时 程序会自己根据传入的参数类型判断使用哪一个重载
|
|
|
|
|
|
//基础函数
|
|
static int CalcSum(int a, int b)
|
|
{
|
|
return a + b;
|
|
}
|
|
|
|
//类型相同 数量不同
|
|
static int CalcSum(int a, int b, int c)
|
|
{
|
|
return a + b + c;
|
|
}
|
|
|
|
//类型不同 数量相同
|
|
static float CalcSum(float a, float b)
|
|
{
|
|
return a + b;
|
|
}
|
|
|
|
|
|
//类型不同 数量不同
|
|
static float CalcSum(float a, int b)
|
|
{
|
|
return a + b;
|
|
}
|
|
|
|
|
|
//数量相同 顺序不同
|
|
static float CalcSum(int a, float b)
|
|
{
|
|
return a + b;
|
|
}
|
|
|
|
//只要不是完全相同,都可以重载
|
|
//ref和out也可以视为一种改变
|
|
static float CalcSum(ref int a, float b)
|
|
{
|
|
return a + b;
|
|
}
|
|
|
|
//params可变参数也可以视为一种改变
|
|
static float CalcSum(ref int a, float b, params int[] arr)
|
|
{
|
|
return a + b;
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
static void Main(string[] args)
|
|
{
|
|
Console.WriteLine("基础函数:");
|
|
Console.WriteLine(CalcSum(1, 2));
|
|
Console.WriteLine("数量不同重载:");
|
|
Console.WriteLine(CalcSum(1, 2, 3));
|
|
Console.WriteLine("类型不同重载:");
|
|
Console.WriteLine(CalcSum(1.2f, 1.3f));
|
|
Console.WriteLine("类型数量都不同重载:");
|
|
Console.WriteLine(CalcSum(1.2f, 1));
|
|
Console.WriteLine("顺序不同重载:");
|
|
Console.WriteLine(CalcSum(1, 1.2f));
|
|
}
|
|
}
|
|
} |