【C#】——属性和方法(下)

方法是一种拥有实现可以由对象或类执行的计算或操作的成员。类的方法主要是和类相关联的动作,它是类的外部界面。对于那些私有的字段来说,外部界面实现对它们的操作一般只能通过方法来实现。
方法其实为达到某种目的而采取的途径、步骤、手段等。


方法的声明

1.方法是包含一系列语句的代码块。在C#中,每个执行指令都是在方法的上下文中完成的。

2.方法在类或者结构中声明,声明时需要指定访问级别、返回值、方法名称及方法参数,方法参数放在括号中,并用逗号隔开。括号中没有内容表示声明的方法没有参数。

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

  • 如果一下所有条件都为真,则表明所声明的方法具有一个有效的修饰符组合。

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

  • 该声明所包含的修饰符彼此各不相同。
  • 该声明最多包含下列修饰符中的一个:static、virtual 和 override 。
  • 该声明最多包含下列修饰符中额个:new 和 ovettide 。
  • 如果该声明包含 abstract 修饰符,则该声明不包含下列任何修饰符:static、virtual、sealed 或 extern。
  • 如果该声明包含 private 修饰符,则该声明不包含下列任何修饰符:virtual、ovrride 或 abstract 。
  • 如果该声明包含 sealed 修饰符,则该声明还包含 override 修饰符。

    方法声明的返回类型指定了由该方法计算和返回值的类型,如果该方法并不返回值,则其返回类型为void。
    一个方法的名称和形参列表定义了该方法的签名。具体地讲,一个方法的签名由它的名称以及它的形参的个数、修饰符和类型组成。返回类型不是方法签名的组成部分。形参的名称也不是方法签名的组成部分。

  • 注意:一个方法的返回类型和它的形参列表中所应用过得各个类型必须至少具有与该方法本身相同的可访问性。

方法的名称必须与在同一个类中声明的所有其他非方法成员的名称都不相同。此外,一个方法的签名必须与在同一个类中声明的所有其他方法的签名都不相同,并且在同以类中声明的两个方法的签名不能只有 ref 和 out 不同。

声明一个 public 类型的无返回值方法 method。

public void method()
{
    Console.Write("方法声明");
}

方法的分类

方法分为静态方法和非静态方法。
若一个方法声明中含有 static 修饰符,则称该方法为静态方法。
若没有 static 修饰符,则称该方法为非静态方法。

- 静态方法

静态方法不对特定实例进行操作,在静态方法中引用 this 会导致编译错误。

创建一个控制台应用程序,其中定义了一个静态的方法Add,该方法有两个参数,其中返回类型为 int ,它主要用来实现两个整数相加的功能。然后在主函数中使用类名直接调用自定义的静态方法。并传两个参数。

public static int Add(int x,int y)
{
    return x + y;
}
static void Main(string[] args)
{
    Console.WriteLine("结果为:"+Program.Add(3,5));
}

- 非静态方法

非静态方法是对类的某个给定的实例进行操作,而且可以用 this 来访问该方法。

创建一个控制台应用程序,其中定义了一个非静态的方法Add。该方法有两个参数,其返回值类型为 int,它主要用来实现两个整数相加的功能。然后在主函数 Main 中实例化 Program 类的一个对象,再使用该对象名调用自定义的非静态方法,并传两个参数。

public int Add(int x,int y)
{
    return x+y;
}
static void Main(string[] args)
{
    Program program=new Praogram();
    Console.WriteLine("结果为:"+program.Add(3,5));
}

说明:调用非静态方法时,也可以使用 this 关键字。


方法的重载

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

创建一个控制台应用程序,其中定义了一个重载方法Add,并在 Main 方法中分别调用其各种重载形式对传入的参数进行计算。

public static int Add(int x,int y)
{
    return x+y;
}
public double Add(int x,double y)
{
    return x+y;
}
public static int Add(int x,int y,int z)
{
    return x+y+z;
}
static void Main(string[] args)
{
    Program program=new Praogram();
    int x=3;
    int y=5;
    int z=7;
    double y2=5.5;
    Console.WriteLine(x+"x"+y+"="+program.Add(x,y));
    Console.WriteLine(x+"x"+y2+"="+program.Add(x,y2));
    Console.WriteLine(x+"x"+y+"+"+z+"="+program.Add(x,y));
}

Main方法

Main放啊发是程序的入口点,程序将在此处创建对象和调用其他方法。一个C#程序中只能有一个入口点,每新建一个项目,程序都会自动生成一个Main方法。
默认的Main方法的代码如下:
static void Main(string[] args){}

说明:Main方法默认访问级别为 private 。

Main方法是一个特别重要的方法,使用时需要注意一下几点:

  • Main方法是程序的入口点,程序控制在该方法中开始和结束。
  • 该方法在类或结构的内部声明。它必须为静态方法,而且不应该为公共方法。
  • 它可以具有 void 或 int 返回类型。
  • 声明 Main 方法时既可以使用参数,也可以不使用参数。
  • 参数可以作为从零开始索引的命令行参数来读取。

猜你喜欢

转载自blog.csdn.net/cangsheng45/article/details/79471234
今日推荐