VR開(kāi)發(fā)入門(mén)教程18:控制臺(tái)編程--C#的方法
來(lái)源:
奇酷教育 發(fā)表于:
方法的定義什么是方法?廣義:一般是指為獲得某種東西或達(dá)到某種目的而采取的手段與行為方式。狹義:方法是指由一系列的程序語(yǔ)句組成的代碼
方法的定義
什么是方法?
廣義:一般是指為獲得某種東西或達(dá)到某種目的而采取的手段與行為方式。
狹義:方法是指由一系列的程序語(yǔ)句組成的代碼塊
方法(method)也叫函數(shù)(function),就是將一堆代碼進(jìn)行重用的一種機(jī)制。函數(shù)就是一段代碼,這段代碼可能有輸入的值(參數(shù)),可能會(huì)返回值。一個(gè)函數(shù)就像一個(gè)專(zhuān)門(mén)做這件事的人,我們調(diào)用它來(lái)做一些事情,它可能需要我們提供一些輸入信息給它,它執(zhí)行完成后可能會(huì)有一些執(zhí)行結(jié)果給我們。要求的輸入的信息就叫參數(shù),返回的執(zhí)行結(jié)果就是返回值。
string s=Console.ReadLine()就是一個(gè)有返回結(jié)果的函數(shù);Console.WriteLine("hello")就是一個(gè)有執(zhí)行參數(shù)的函數(shù),只有告訴WriteLine被打印的數(shù)據(jù)它才知道如何打??;int num=int.Parse("22")則是一個(gè)既有參數(shù)又有返回值的函數(shù)。
有了函數(shù)寫(xiě)代碼就像拼積木,C#中的各種各樣的技術(shù)其實(shí)就是通過(guò)for、if等這些基礎(chǔ)的語(yǔ)法將不同的函數(shù)按照一定的邏輯組織起來(lái)。
方法最大的好處就是重用,無(wú)論現(xiàn)實(shí)世界還是程序世界,都以方法來(lái)達(dá)到重用的目的。
定義語(yǔ)法:[]表示可選 <>表示必備
[訪(fǎng)問(wèn)修飾符] [修飾符] <返回值類(lèi)型 void> <方法名>([參數(shù)列表])
{
// 待執(zhí)行語(yǔ)句塊;
// [return 返回值; || return;];
}
{...}表示方法主體 簡(jiǎn)稱(chēng)方法體
方法可以被定義的位置: 類(lèi)(class)、結(jié)構(gòu)體(struct)中
命名規(guī)則:方法名開(kāi)頭大寫(xiě),參數(shù)名開(kāi)頭小寫(xiě),方法名、參數(shù)名、變量名要有意義;
方法的使用
方法的目的在于重用,所有的方法編寫(xiě)完成后,都處于等待調(diào)用狀態(tài),被調(diào)用后方法開(kāi)始執(zhí)行,直到方法返回(有無(wú)返回值均必須返回)
方法大多數(shù)會(huì)在其他方法內(nèi)部被調(diào)用
調(diào)用的規(guī)則:
1.調(diào)用者和被調(diào)用者相互可見(jiàn)
同一個(gè)類(lèi)中或同一個(gè)結(jié)構(gòu)體中
采用直接調(diào)用的方式
示例:
public class MethodClass
{
public void Method1()
{
Method2 ();
}
public void Method2()
{
Console.WriteLine ("Method2 run");
}
}
2.調(diào)用者和被調(diào)用者相互不可見(jiàn)
不在同一個(gè)類(lèi)中或同一個(gè)結(jié)構(gòu)體中
采用以.尋址的方式調(diào)用
示例:
public class MethodClass
{
public static void Method1()
{
MethodClass2.Method2 ();
}
}
public class MethodClass2
{
public static void Method2()
{
Console.WriteLine ("Method2 run");
}
}
3.特殊的調(diào)用方式
構(gòu)造方法、析構(gòu)方法等特殊的方法需要用特殊的方案調(diào)用
例如構(gòu)造方法使用new關(guān)鍵字來(lái)調(diào)用、析構(gòu)方法由系統(tǒng)自行調(diào)用等等
多級(jí)調(diào)用關(guān)系在程序中表現(xiàn)如下:
===>:調(diào)用
<===:返回
Method1()<===>Method2()<===>Method3()<===>Method4()