面向对象编程——C#中如何进行方法重载

文章目录

    • C#中如何进行方法重载
      • 方法重载的概念
      • 使用场景
      • 方法重载的好处
      • 方法重载演示

C#中如何进行方法重载

方法重载的概念

C#语法规定,同一个类中多个方法使用同一名字,该方法就被称为“重载方法”。当一个重载方法被调用时,C#会根据参数的个数和类型自动调用最恰当的方法来执行。

使用场景

当类中存在多个相同功能的方法时,定义和调用过程中都会带来很大的麻烦,此时,可以考虑使用方法重载。

构成重载的条件有以下三个:

(1)在同一个类中

(2)方法名相同

(3)参数的类型或个数不同

方法重载的好处

主要体现在调用上,不需要记住更多的方法名称,相同功能的方法传递不同的参数,编译器会明确获取我们要调用哪一的方法。

方法重载演示

下面同过一个例子来演示方法重载的使用。

首先新建一个控制台应用程序,新建一个Customer类,接着在类中定义重载方法,代码如下:

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

namespace FangFaChongZai
{
    public class Computer
    {
        //方法1,实现两个整数相加
        public int Add(int num1,int num2)
        {
            Console.WriteLine("实现两个整数的相加:");
            return num1 + num2;
        }
        //方法2,实现三个整数相加
        public int Add(int num1, int num2, int num3)
        {
            Console.WriteLine("实现三个整数的相加:");
            return num1 + num2 + num3;
        }
        //方法3,实现两个小数相加
        public double Add(double num1, double num2)
        {
            Console.WriteLine("实现两个小数的相加:");
            return num1 + num2;
        }
    }
}

然后在Program中调用方法。

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

namespace FangFaChongZai
{
    class Program
    {
        static void Main(string[] args)
        {
            Computer computer = new Computer();
            computer.Add(1, 1);  //调用带两个int类型参数的Add方法
            computer.Add(1, 2, 3);  //调用带三个int类型参数的Add方法
            computer.Add(1.5, 1.2);  //调用带两个double类型参数的Add方法

            //一个是int类型,一个是double类型,方法重载里面没有定义这样的方法
            //此时系统会选择最合适的方法去调用,会选择有两个double类型参数的方法去调用,将第             一个1变成double类型
            computer.Add(1, 1.2);
        }
    }
}

结果如下图所示:
面向对象编程——C#中如何进行方法重载_第1张图片
从结果中我们可以发现,当出现我们没有定义的方法computer.Add(1, 1.2)时,系统自动选择了最合适的方法Add(double,double)去调用。

你可能感兴趣的:(C#基础之面向对象编程,c#,面向对象编程,封装)