轻松学习C#的方法

论坛 期权论坛     
niminba   2021-5-22 15:37   176   0
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在类中自定义的“函数”称为“方法”,由于C#是完全面向对象的语言,同时为了便于解释后面要学的C#类,这里的“方法”来称呼“函数”。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;方法是一种用于实现可以有对象或类执行的计算机或操作的成员,是一个已命名的语句集。每个方法都有一个名称和主体。方法名应该是一个有意义的标识符,应描述出方法的用途。方法主体包含了调用方法时实际执行的语句。用户可以为大多数方法提供一些数据来进行处理,并让其返回一些信息(通常是处理结果)。方法是一种基本的,功能强大的编程机制。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 方法的声明格式为:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #800000"><strong>修饰符&nbsp; 返回值类型&nbsp; 方法名称(参数列表)<br>
</strong></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 方法体<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其中的修饰符和参数列表都是可选的,修饰符如下:<span style="color: #800000"><strong>new,public,protected,internal,private,static,virtual,sealed,override,abstract,extern,partial<br>
</strong></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果以下所有条件都为真,则所述的声明就具有一个<span style="color: #3366ff"><strong>有效的修饰符组合</strong></span>:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)该声明包含一个由访问修饰符组成的有效组合<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2)该声明中所含的修饰符没有彼此相同的<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (3)该声明最多包含下列修饰符中的一个:static,virtual和override<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (4)该声明最多包含下列修饰符中的一个:new和override<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (5)如果声明中包含abstract修饰符,则该声明不包含下列任何修饰符:static,virtual,sealed或extern<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (6)如果声明中包含private修饰符,则该声明不包含下列任何修饰符:virtual,override或abstract<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (7)如果声明包含sealed修饰符,则该声明还包含override修饰符<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (8)如果声明中包含partial修饰符,则该声明不包含下列任一修饰符:new,public,protected,internal,private,static,virtual,sealed,override,abstract,extern<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 返回值类型是一个类型名,它指定了返回的信息是什么类型。这可以是任何类型,如果要返回值,则在方法体运行后必须由return语句返回一个和“返回值类型”相同类型的值,如果要写一个不返回值的方法,那么必须用关键字void来取代返回类型。如果声明包含partial修饰符,则返回类型必须为void。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个方法的名称必须不同于在一个类中声明的所有其他非方法的名称。此外,必须不同于在同一类中声明的所有其他方法的签名。在写参数列表时,所有形参和类型形参都不能同名。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面编写一个简单的返回两个整型数的和的方法:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<div class="blockcode">
<pre class="brush:csharp;">
public int add(int a, int b)
     {
         return a+b;
     }
</pre>
</div>
<p>下面就具体介绍C#语言中的一些重要的基础的方法:<br>
<strong>一、静态方法和实例方法</strong><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 静态方法是一个特殊的成员方法,不属于类的某一个具体的实例或对象,而属于类本身。静态方法不对特定实例进行操作,只能访问类中的静态成员。访问静态方法只能使用类名,而不需要创建对象,也不能使用对象名类引用,声明静态方法修饰符中必须有static关键字。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实例方法可以使用类的任何成员。调用实例方法时,必须使用类的实例或对象来引用。实例方法对类的某个给定的实例进行操作,在实例方法类中可以使用this来访问实例。调用实例方法时,必须先创建一个对象。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;简单的说,静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许静态方法使用实例成员变量,这是错误的。基于同样的道理,静态方法中不能使用关键字this。<br>
<span style="color: #800000"><strong>例一、编程使用静态方法和实例
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP