c#之重载

2021-01-04 21:28

阅读:614

标签:static   int   定义   stat   public   code   输出   先进后出   签名   

1. 方法签名

 由方法的名称,类型形参的个数和它的每一个形参(从左到右的顺序)的类型和种类(值,引用或输出)组成。方法签名不含返回类型。

同一个类中定义多个方法名相同、参数列表(参数类型,参数个数)不同的方法,这样的形式我们称为方法重载。

比如下面例子:

  class Program
    {
        static void Main(string[] args)
        { 
            Console.ReadKey();
        }
        public int Add(int a,int b)
        {
            return a + b;
        }
        public int Add(int a, int b,int c)
        {
            return a + b;
        }
        /// 
        /// 类型形参
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        public int Add(int a, int b, int c)
        {
            return a + b;
        }
        public double Add(double a, double b)
        {
            return a + b;
        }





    }

 2.下面是调用方法的时候的内存管理

class Program
    {
        static void Main(string[] args)
        {
            MyClass myClass = new MyClass();
            myClass.GetConeVoloume(1,1);
            Console.ReadKey();
        }
        

    }

    class MyClass
    {
       
        public double GetCircleArea(double r)
        {
            return Math.PI * r * r;
        }
        public double GetCylinderVolume(double a, double b)
        {
            double x = GetCircleArea(a);
            return x*b;
        }
        public double GetConeVoloume(double a, double b)
        {
            double x = GetCylinderVolume(a,b);
            return x/3;
        }



    }

其中,下面的这段代码中的输入参数是又调用函数来确定的,所以GetConeVoloume方法的2个参数由Main方法控制。调用这个方法的时候,会在栈内存中找2个空闲内存区域,根据方法参数中从左往右的原则往栈中压入数据,先放a,再放b。当这个方法执行完毕的时候,栈上的对象才会进行释放,是先进后出的原则。

 

 

 

 

 

 

  MyClass myClass = new MyClass();
            myClass.GetConeVoloume(1,1);

 

c#之重载

标签:static   int   定义   stat   public   code   输出   先进后出   签名   

原文地址:https://www.cnblogs.com/anjingdian/p/13193441.html


评论


亲,登录后才可以留言!