在 C# 中重载方法和调用重载方法

发布日期:2026-07-14 19:03:04   来源 : 杭州电子商务研究院    浏览量 :6
杭州电子商务研究院 发布日期:2026-07-14 19:03:04  
6

介绍

方法重载是面向对象编程 (OOP) 中的一个显著特性。它允许您使用不同的参数列表多次声明相同的方法。在本指南中,我们将讨论如何在 C# 中实现方法重载。

重载

方法重载是 OOP 中的一种多态形式。多态允许对象或方法根据其使用方式以不同的方式运行。方法重载就是其中一种根据其参数类型和参数数量运行的方式。

当有两个方法具有相同的名称但不同的签名(或参数)时,就会发生重载。在一个类中,我们可以实现两个或多个具有相同名称的方法。重载方法根据作为参数传递给方法的参数的数量和类型进行区分。如果我们尝试定义多个具有相同名称和相同数量参数的方法,则编译器将抛出错误。

方法重载的优点是它提高了代码的可读性和可维护性。尽管可以使用名称相同的方法执行完全不同的功能,但建议重载方法的执行方式必须相似。

重载方法

创建具有重载方法的类非常容易,只需定义具有相同名称但具有不同参数列表的方法。

方法重载可以通过以下方式实现:

  • 通过改变方法中的参数数量

  • 通过改变方法中的参数顺序

  • 对参数使用不同的数据类型

让我们看一个非常常见的例子,求任意多边形的面积。

      public class Area {
    public double area(double s) {
        double area = s * s;
        return area;
    }

    public double area(double l, double b) {
        double area = l * b;
        return area;
    }
}
    

在上面的代码中,方法area()被定义了两次。首先,它使用一个参数定义,用于计算正方形的面积;其次,它使用两个参数 length 和 breadth 定义,用于计算矩形的面积。

调用重载方法

要调用重载方法,请使用精确的参数调用该方法。例如,如果我们想调用 area ()方法来计算正方形的面积,我们只需传递一个参数。

      Area a = new Area();
double side = 3.3;
double square = a.area(side);
Console.WriteLine(square);
    

输出:

      10.89
    

类似地,为了找到矩形的面积,我们需要写下以下内容,

      Area a = new Area();
double length = 3.3;
double breadth = 4.9;
double rect = a.area(length, breadth);
Console.WriteLine(rect);
    

输出:

      16.17
    

完整源代码

      using System;

namespace Overload_methods_and_invoke {
    public class Area {
        public double area(double s) {
            double area = s * s;
            return area;
        }

        public double area(double l, double b) {
            double area = l * b;
            return area;
        }
    }

    class Program {
        public static void Main(string[] args) {
            Area a = new Area();
            double length = 3.3;
            double breadth = 4.9;
            double rect = a.area(length, breadth);
            Console.WriteLine("Area of rectangle " + rect);

            double side = 3.3;
            double square = a.area(side);
            Console.WriteLine(square);
        }
    }
}
    

输出:

      Area of rectangle 16.17
Are of square 10.89
    

结论

方法重载是构建易于维护的应用程序的一项重要功能。话虽如此,能力越大,责任越大,对吧?过多的方法重载最终会使其他开发人员难以维护代码。希望您对方法重载有了清晰的认识。祝您编码愉快!

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据