C#——属性和方法

1.属性 没()

属性是一种用于访问对象或类的特性的成员,它可以表示字体的大小、窗体的标题和客户的名称等内容。

自定义属性在类中是通过以下方式声明的,指定属性的访问级别,后面是属性的类型,接下来是属性的名称,然后是声明get访问器和(或)set访问器的代码模块,其他语法格式如下:

访问修饰符 数据类型 属性名

{

      get {return 变量名;}

      set {变量名=value;}

}

public:不限制对该属性的访问

protected:只能从其所在类和所在的子类进行访问

internal:只有其所在类才能访问

private:私有访问修饰符,只能在其声明类中使用

属性的使用

对象名.属性名

2.方法 有()

方法是一种用于实现可以由对象或类执行的计算或操作的成员。

方法声明可以包含一组特性和private、public、protected、internal这4个访问修饰符的任何一个有效组合,还可以包含new、static、virtual、override、sealed、abstract、extern等修饰符。

该声明包含一个有效的访问修饰符组合。

该声明中所包含的修饰符彼此各不相同。

该声明最多包含下列修饰符中的一个:static、virtual、override

该声明最多包含下列修饰符中的一个:new、override

如果该声明包含abstract修饰符,则该声明不包含下列任何修饰符:static、virtual、sealed、extern。

如果该声明包含private修饰符,则该声明不包含下列任何修饰符:virtual、override、abstract。

如果该声明包含sealed修饰符,则该声明还包含override修饰符。

方法的声明的返回值类型指定了由该方法计算和返回值的类型,如果该方法并不返回值,则其返回类型为void。

例:声明一个public类型的无返回值方法method()

public void methed()

{

       Console.Write(“方法声明”);

}

例:编写一个计算器,要求在控制台中输入两个数以及数学符号,通过调用方法计算相应的结果。

using System;

class Program

{

    static void Main(string[] args)

    {

        Console.WriteLine("请输入第一个数:");

        double a = Convert.ToDouble(Console.ReadLine());

        Console.WriteLine("请输入第二个数:");

        double b = Convert.ToDouble(Console.ReadLine());

        Console.WriteLine("请输入数学符号(+、-、*、/):");

        char c = Convert.ToChar(Console.ReadLine());

        double result;

        switch (c)

        {

            case '+':

                result = Add(a,b);

                break;

            case '-':

                result = Sub(a, b);

                break;

            case '*':

                result = Mul(a, b);

                break;

            case '/':

                if (b != 0)

                {

                    result = Div(a, b);

                }

                else

                {

                    Console.WriteLine("除数不能为0");

                    return;

                }

                break;

            default:

                Console.WriteLine("无效数学符号");

                return;

        }

        Console.WriteLine("结果是:"+result);

    }

    static double Add(double num1, double num2)

    {

        return num1 + num2;

    }

    static double Sub(double num1, double num2)

    {

        return num1 - num2;

    }

    static double Mul(double num1, double num2)

{

        return num1 * num2;

    }

    static double Div(double num1, double num2)

    {

        return num1 / num2;

    }

}

3.方法的参数类型

①params参数

用来指定在参数数目可变时采用的方法参数,params参数必须是一维数组

例:

static void UseParams(params string[] list)

{

       for(int i=0;i<list.Length;i++)

       {

              Console.WriteLine(list[i]);

}

}

static void Main()

{

       string[] strName = new string[5]{“我”, “是”, “中”, “国”, “人”};

       UseParams(strName);

       Console.Read();

}

②ref参数

使方法参数按引用传递,其效果是当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

例:

public static void Methed(ref int i)

{

       i=44;

}

public static void Main()

{

       int val=0;

       Method(ref val);

       Console.WriteLine(val); //输出为44

       Console.Read();

}

③out参数

用来定义输出参数,它会导致参数通过引用来传递,与ref的不同之处是,ref要求变量在传递之前进行初始化,而out关键字定义的参数不用进行初始化即可使用。

public static void Methed(out int i)

{

       i=44;

}

public static void Main()

{

       int val;

       Method(out val);

       Console.WriteLine(val); //输出为44

       Console.Read();

}

4.方法的分类

①静态方法

方法声明中含有static修饰符

不对特定实例进行操作,调用时,需要直接使用类名进行调用

public static int Add(int x, int y)

{

       return x+y;

}

static void Main(string[] args)

{

       Console.WriteLine(Program.Add(2,3)); //5

}

②非静态方法

没有在方法声明中含有static修饰符

调用时,需要使用类的实例(对象)进行调用

例:

public int Add(int x, int y)

{

       return x+y;

}

static void Main(string[] args)

{

       Program program = new Program();

Console.WriteLine(Program.Add(2,3)); //5

}

5.方法的重载

指方法名相同,但是参数的数据类型、个数或顺序不同的方法。只要类中有两个以上的同名方法,但是使用的参数类型、个数或顺序不同,调用时,编译器即可判读在那种情况下调用哪种方法。

5.Main()方法

Main()方法是程序的一个入口点,程序将在此处创建对象和调用其他方法,一个C#程序中只能有一个入口点(只能有一个Main方法)

Main()方法默认访问级别为private

Main()方法使用时需注意:

þMain()方法是一个程序的入口点,程序控制在该方法中开始和结束

þMain()方法在类或结构的内部声明,它必须为静态方法,而且不应该为公共方法

þMain()方法可以具有void或int返回类型

þ声明Main()方法时既可以使用参数,也可以不使用参数

þ参数可以作为从零开始索引的命令行参数来读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值