欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

方法

程序员文章站 2022-06-21 14:43:12
...

方法是一种用来实现可以由对象或类执行的计算机操作的成员.类的方法主要是和类相关联的动作.他是类的外部界面.对于那些私有字段来说,外部界面实现对他们的一些操作只能通过方法来实现.
方法的声明
方法声明在类或结构中,声明时需要指定1.访问级别2.返回值3.方法名称4.方法参数(方法参数在括号中,并用逗号隔开)括号中可以没有参数
方法声明的返回类型指定了由该方法计算和返回的类型,如果该方法并不返回值,则其返回类型为void.
声明一个无返回值方法method
public void method() { }
方法的参数类型
调用方法时可以给该方法传递一个或多个值,传给方法的值叫做实参,在方法内部,接受实参的变量叫形参,形参在紧跟着方法名的括号中声明,形参的声明语法跟变量的声明语法一样.形参只在括号内有效.声明方法参数时,可以通过关键字params,ref,out实现
1.params参数
用来指定在参数数目可变时采用的方法参数,params参数必须是一维数组.

`private static void UserParams(string[] a)
{
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
}
public static void Main(string[] args)
{

        string[] b = { "i", "am", "china" };
        UserParams(b);
        Console.Read();
       
        
    } `
    2.ref参数
    ref参数使用方法参数按引用传递,其效果是:当控制权传递回调用函数时,在方法中对参数所做的任何更改都将反映在该变量中.如果要使用ref参数,则方法声明和调用都必须显式使用ref关键字.
    例
    `public static void Main(string[] args)
    {

       
       
        int val = 0;
        method(ref val);
        Console.WriteLine(val);
        
    }
    public static void method(ref int i)
    {
        i = 55;
    }`

3.out参数
out参数用来定义输出参数,它会导致参数通过引用来传递,与ref关键字类似,不同之处在于ref要求变量必须在传递之前进行初始化,而out定义的参数,不需要进行初始化就可以使用.例
`public static void method1(out int i)
{
i = 44;
}
public static void Main(string[] args)
{

        int value;
        method1(out value);
        Console.WriteLine(value);
        
    }`

方法的分类(静态和非静态)
有static为静态无static为非静态
1.静态方法
静态方法不对特定的实例进行操作,调用时,需要直接使用类名进行调用

public static void add(int x,int y) { return x+y; } static void Main(string[]args) { console.writeline(program.add(3,5));//使用类名调用方法 }

2.非静态方法
调用时需要使用类的实例(对象)进行调用
例:
public int add(int x ,int y) { return x+y; } staitic void main(string[]args) { Program pr=new Program(); console.writeline(pr.add(3,5)); }
方法的重载
方法重载是指方法名相同,但参数的数据类型.个数或顺序不同的方法,调用时,编译器会根据情况判断使用哪种方法

public static void add(int x,int y)
{return x+y;}
public static double add(int x,double y)
{return x+y;}
public static void add(int x,int y,int z)
{return x+y;}
staitic void Main(string[]args)
{
int x=1;
int y=5;
int z=7;
couble y1=1.5;
Console.WriteLine(program.add(x,y));
Console.WriteLine(program.add(x,y1));
Console.WriteLine(program.add(x,y,z));
}

相关标签: 方法