C#入门8.8——方法的重载

方法重载是一种操作性多态。有的时候,可能需要在多个不同的实现中对不同的数据执行相同的逻辑操作。以WriteLine方法为例,有时可能向它传递一个格式字符串和其他一些参数,也可能只向它传递一个整数。两者的具体实现肯定是不同的,但在逻辑上,这个方法负责的是输出数据。至于方法内部具体是如何实现的,很多读者并不关心。

在面向对象这样的高级语言中,都允许在一个类中定义多个方法名相同、方法中参数个数和参数顺序不同的方法,对于参数个数不同或者参数列表不同的情况称之为参数列表不同。

需要注意的是这里没有提到方法的返回值。

实例:

利用重载分别求圆、矩形、三角形的面积

海伦公式:S=sqrt(p(p-a)(p-b)(p-c))     p为周长的一半。

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

namespace ConsoleApplication8
{
    class Program
    {
        //写在同一类中
        //求圆面积
        static void writeArea(int radius)
        {
            double area = System.Math.PI * radius * radius;
            Console.WriteLine("您求圆的面积是:"+area);
        }
        //求矩形面积
        static void writeArea(int width,int length)
        {
            int area = width * length;
            Console.WriteLine("您求矩形的面积是:"+area);
        }
        //求三角形面积
        static void writeArea(int a,int b,int c)
        {
            double p = (a + b + c) / 2;
            double area = System.Math.Sqrt(p * (p - a) * (p - b) * (p - c));
            Console.WriteLine("您求三角形的面积是:"+area);
        }
        static void Main(string[] args)
        {
            //利用方法的重载进行调用方法
            writeArea(3, 4, 5);
            writeArea(25);
            writeArea(10, 20);
            Console.ReadKey();
        }
    }
}

你可能感兴趣的:(C#)