在 C# 中重载方法和调用重载方法
介绍
方法重载是面向对象编程 (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
结论
方法重载是构建易于维护的应用程序的一项重要功能。话虽如此,能力越大,责任越大,对吧?过多的方法重载最终会使其他开发人员难以维护代码。希望您对方法重载有了清晰的认识。祝您编码愉快!
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~