C#-从入门到精通-第8章 属性和方法

【属性】
属性是一种访问类或对象特性的成员。
语法:

private 数据类型  变量名;
public 数据类型 属性名
{
        get{ return 变量名 ;}
        set
        {
                变量名 = value;
        }
}
class student
{
    private int age;
    public int Age
    {
        get { return age; }
        set
        {
            if(value>0&&value<100)
            {
                age = value;
            }
            else
            {
                age = 18;
            }
        }
    }
}
class Program
{
    static void Main(string[] args)
    {
        student stu = new student();
        stu.Age = 12;
        Console.WriteLine(stu.Age);
        Console.ReadLine();
    }
}

【方法】
方法就是类的行为,便于修改,增加可读性,可重用,封装…
1.方法的声明
语法:

访问修饰符  返回类型  方法名(参数列表)
{
        方法的主体...
}

访问修饰符:public、private…
返回类型:int、string、void(无返回值)…
参数列表:如果没有可以省略,多个参数之间用逗号隔开

public int Show()
{
      Console.WriteLine(Age);
      return age; //返回与int类型一致的值
}

2.方法的参数类型
1)params参数
参数个数不确定的情况,就可以使用params参数。

private  int  Add(params  int[] x)
{
}

Program pro = new Program();
pro.Add(20);
pro.Add(20,3,40,50,60);

说明:
1.只能在一维数组上使用params参数;
2.不允许使用ref或者out修饰params参数;
3.一个方法最多只能有一个params参数。

2)ref参数
使方法参数按引用传递

class Program
    {
        //交换两个数的方法
        static void Swap(int num1,int num2)
        {
            int temp = num1;
            num1 = num2;
            num2 = temp;

        } 
        static void Main(string[] args)
        {
            int num1 = 40, num2 = 50;
            Console.WriteLine("交换前两个数的位置为:{0}和{1}" ,num1 ,num2);
            Swap(num1, num2);//交换两个数的位置
            Console.WriteLine("交换后两个数的位置为:{0}和{1}", num1, num2);
            Console.ReadLine();

        }
    }

在这里插入图片描述
因为int类型的参数是按值传递的,对形参的修改并不会影响到实参。

class Program
    {
        //交换两个数的方法
        static void Swap(ref int num1,ref  int num2)
        {
            int temp = num1;
            num1 = num2;
            num2 = temp;

        } 
        static void Main(string[] args)
        {
            int num1 = 40, num2 = 50;
            Console.WriteLine("交换前两个数的位置为:{0}和{1}" ,num1 ,num2);
            Swap(ref num1,ref num2);//交换两个数的位置
            Console.WriteLine("交换后两个数的位置为:{0}和{1}", num1, num2);
            Console.ReadLine();

        }
    }

在形参前加上ref参数,作用是将形参按引用类型传递。
在这里插入图片描述
在这里插入图片描述
3)out参数
用于定义输出参数,会使参数通过引用传递。这与ref参数相似,不同的是ref参数要求变量必须在传递之前初始化,out关键字定义的参数不用进行初始化即可使用。可以返回多个值。

class Program
    {
        public static void Method(out int i)//可以继续加参数
        {
            i = 40;//继续给变量赋值
        }
        static void Main(string[] args)
        {
            int value;
            Method(out value);
            Console.WriteLine("输出参数:" + value);//可以输出更多值
            Console.ReadLine();

        }
    }

在这里插入图片描述
在这里插入图片描述
3.方法的重载
是指方法名相同,但参数的数据类型,数据个数和顺序不同的方法。

        //数据类型不同
        public static int sum(int a,int b)
        {
            return a + b;
        }
        public static double sum(double a, double b)
        {
            return a + b;
        }
        //数据个数不同
        public static int sum(int a, int b,int c)
        {
            return a + b+c;
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个喜欢弹吉他的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值