c#面向对象(六)----类的方法(一)

本文详细解释了编程中方法的声明、返回类型、输入参数、以及方法的重载概念。通过实例展示了如何在类中声明方法,包括普通方法、静态方法和参数传递方式(值传递、引用传递、输出参数)。并介绍了如何在类外部调用这些方法,以及不同参数传递方式的影响。
摘要由CSDN通过智能技术生成

方法与属性作为类的最重要成员,这里主要说明方法的声明、方法的属性、静态方法、方法的重载。

方法的声明

修饰符  返回值数据类型  方法名称  (输入参数的名称)

{}

例如

public  int  A ( int a)

{

return a;

}

这个简单的方法,public 公有的,返回值的类型是int,方法的名字叫做A,需要输入一个参数a,最后返回值是a。

这里返回值是a,如果想返回多个值就可以使用ref,或out了

比如,这里在ss类中定义方法A,先把b+c的值赋给b,再把b+c的值赋给a,返回a

    public class ss
    {
        public int A(int a, int b, int c)
        {
            b = b + c;
            a = b + c;
            return a;
        }
    }

调用的时候

            ss s = new ss();
            int Q = 3;
            int W = 1;
            int E = 4;
            int F = s.A(Q,W,E);
            textBox1.Text = F.ToString();
            textBox1.Text += "          " +W.ToString();

输出的值为:9           1

可以看出F返回出来了,但是这里面的W的值没有变,这是因为QWE作为只是把314的值传进去了,如果想要把地址传进去,即A方法可以改变这几个参数的值,则要用到ref

例,这里把参数b前面加ref

    public class ss
    {
        public int A(int a,ref  int b, int c)
        {
            b = b + c;
            a = b + c;
            return a;
        }
    }

调用过程相同,只是在W前加入ref

        private void button6_Click(object sender, EventArgs e)
        {
            ss s = new ss();
            int Q = 3;
            int W = 1;
            int E = 4;
            int F = s.A(Q,ref W,E);
            textBox1.Text = F.ToString();
            textBox1.Text += "          " +W.ToString();
        }

输出结果为:9            5

但是ref的前提是要对其初始化,比如这里int W = 1;如果不初始化就会出错,不过在有些情况中,初始化时没有必要的,那就要用到out

例如,这里b用了out,从方法内部来看,确实没用到b的输入值,但是要b的输出值

    public class ss
    {


        public int A(int a, out int  b, int c)
        {
            b = 10 + c;
            a = b + c;
            return a;
        }
    }

调用

            ss s = new ss();
            int Q = 3;
            int W ;
            int E = 4;
            int F = s.A(Q,out W,E);
            textBox1.Text = F.ToString();
            textBox1.Text += "          " +W.ToString();

输出为:18              14


如果不能预先确定参数的数量,可以使用params

比如

public void food (params string[]  a)

{

      //方法

}

调用时,xx.food("鸡肉",“牛肉”),因为之前定义的参数个数不确定,所以这里可以是多个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值