




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2021年12月7日第5章 方法和作用域主講教師: 楊建軍教學(xué)目標(biāo)本章主要介紹方法的定義、調(diào)用及參數(shù)傳遞,方法的重載。作用域的含意局部作用域和類作用域。我們將學(xué)會(huì)在程序中如何聲明方法和調(diào)用方法。學(xué)習(xí)在Visual Studio 2005中如何使用“生成方法存根向?qū)А焙汀爸貥?gòu)|提取方法”加快源程序的輸入。 教學(xué)重點(diǎn)l 方法的定義和調(diào)用l 參數(shù)傳遞方法l 局部作用域和類作用域l 方法重載l System.Math類的使用l 使用“生成方法存根向?qū)А眮?lái)編寫方法方法是把一些相關(guān)的語(yǔ)句組織在一起,用于解決某一特定問(wèn)題的語(yǔ)句塊。方法必須放在類定義中。方法同樣遵循先聲明后使用的規(guī)則。C#語(yǔ)言中的方法相當(dāng)于其
2、他編程語(yǔ)言(如VB.NET)中的通用過(guò)程(Sub過(guò)程)或函數(shù)過(guò)程(Function過(guò)程)。C#中的方法必須放在類定義中聲明,也就是說(shuō),方法必須是某一個(gè)類的方法。 5.1方法和作用域方法和作用域 聲明方法最常用的語(yǔ)法格式為:訪問(wèn)修飾符訪問(wèn)修飾符 返回類型返回類型 方法名方法名(參數(shù)列表參數(shù)列表) /方法體方法體5.1.1方法聲明方法聲明 在方法聲明的類定義中調(diào)用該方法,實(shí)際在方法聲明的類定義中調(diào)用該方法,實(shí)際上是由類定義內(nèi)部的其他方法成員調(diào)用該上是由類定義內(nèi)部的其他方法成員調(diào)用該方法,其語(yǔ)法格式為:方法,其語(yǔ)法格式為: 方法名方法名(參數(shù)列表參數(shù)列表)5.1.2方法調(diào)用方法調(diào)用 在方法聲明的類定
3、義外部調(diào)用該方法實(shí)際在方法聲明的類定義外部調(diào)用該方法實(shí)際上是通過(guò)類聲明的對(duì)象調(diào)用該方法,其語(yǔ)上是通過(guò)類聲明的對(duì)象調(diào)用該方法,其語(yǔ)法格式為:法格式為: 對(duì)象名對(duì)象名.方法名方法名(參數(shù)列表參數(shù)列表) 5.1.2方法調(diào)用方法調(diào)用 在方法的聲明與調(diào)用中,經(jīng)常涉及方法參在方法的聲明與調(diào)用中,經(jīng)常涉及方法參數(shù),在方法聲明中使用的參數(shù)叫形式參數(shù)數(shù),在方法聲明中使用的參數(shù)叫形式參數(shù)(形參),在調(diào)用方法中使用的參數(shù)叫實(shí)(形參),在調(diào)用方法中使用的參數(shù)叫實(shí)際參數(shù)(實(shí)參)。在調(diào)用方法時(shí),參數(shù)傳際參數(shù)(實(shí)參)。在調(diào)用方法時(shí),參數(shù)傳遞就是將實(shí)參傳遞給形參的過(guò)程。遞就是將實(shí)參傳遞給形參的過(guò)程。 5.1.3 參數(shù)傳遞參數(shù)
4、傳遞 C#中函數(shù)的參數(shù)有中函數(shù)的參數(shù)有4種類型:種類型:l值參數(shù),不含任何修飾符。值參數(shù),不含任何修飾符。l引用型參數(shù),以引用型參數(shù),以ref修飾符聲明。修飾符聲明。l輸出參數(shù),以輸出參數(shù),以out修飾符聲明。修飾符聲明。l數(shù)組型參數(shù),以數(shù)組型參數(shù),以params修飾符聲明。修飾符聲明。5.1.3 參數(shù)傳遞參數(shù)傳遞 1. 按值傳遞按值傳遞 參數(shù)按值的方式傳遞是指當(dāng)把實(shí)參傳遞給參數(shù)按值的方式傳遞是指當(dāng)把實(shí)參傳遞給形參時(shí),是把實(shí)參的值復(fù)制(拷貝)給形形參時(shí),是把實(shí)參的值復(fù)制(拷貝)給形參,實(shí)參和形參使用的是兩個(gè)不同內(nèi)存中參,實(shí)參和形參使用的是兩個(gè)不同內(nèi)存中的值,所以這種參數(shù)傳遞方式的特點(diǎn)是形的值,
5、所以這種參數(shù)傳遞方式的特點(diǎn)是形參的值發(fā)生改變時(shí),不會(huì)影響實(shí)參的值,參的值發(fā)生改變時(shí),不會(huì)影響實(shí)參的值,從而保證了實(shí)參數(shù)據(jù)的安全。從而保證了實(shí)參數(shù)據(jù)的安全。 例例5-2:值參數(shù)傳遞示例。:值參數(shù)傳遞示例。5.1.3 參數(shù)傳遞參數(shù)傳遞 2. 按引用傳遞按引用傳遞 按引用傳遞是指實(shí)參傳遞給形參時(shí),不是按引用傳遞是指實(shí)參傳遞給形參時(shí),不是將實(shí)參的值復(fù)制給形參,而是將實(shí)參的引將實(shí)參的值復(fù)制給形參,而是將實(shí)參的引用傳遞給形參,實(shí)參與形參使用的是一個(gè)用傳遞給形參,實(shí)參與形參使用的是一個(gè)內(nèi)存中的值。這種參數(shù)傳遞方式的特點(diǎn)是內(nèi)存中的值。這種參數(shù)傳遞方式的特點(diǎn)是形參的值發(fā)生改變時(shí),同時(shí)也改變實(shí)參的形參的值發(fā)生改變
6、時(shí),同時(shí)也改變實(shí)參的值。值。 基本類型參數(shù)按引用傳遞時(shí),實(shí)參與形參基本類型參數(shù)按引用傳遞時(shí),實(shí)參與形參前均須使用前均須使用ref關(guān)鍵字說(shuō)明。關(guān)鍵字說(shuō)明。 在方法中,引用型參數(shù)通常已經(jīng)初始化。在方法中,引用型參數(shù)通常已經(jīng)初始化。 5.1.3 參數(shù)傳遞參數(shù)傳遞 例如Swap方法代碼如下:public void Swap(ref string s1,ref string s2) string s3;s3=s1;s1=s2;s2=s3;則調(diào)用該方法的語(yǔ)句代碼如下: Swap(ref ss1,ref ss2); / 在實(shí)參中增加ref關(guān)鍵字。5.1.3 參數(shù)傳遞參數(shù)傳遞 類對(duì)象參數(shù)總是按引用傳遞的,所以
7、類對(duì)象參數(shù)傳遞不需要使用ref關(guān)鍵字。5.1.3 參數(shù)傳遞參數(shù)傳遞 3輸出型參數(shù) 與引用型參數(shù)類似,輸出型參數(shù)也不開(kāi)辟新的內(nèi)存區(qū)域。與引用型參數(shù)的差別在于,調(diào)用前不需對(duì)變量進(jìn)行初始化。輸出型參數(shù)用于傳遞方法返回的數(shù)據(jù)。 out修飾符后應(yīng)跟隨與形參的類型相同的類型聲明。在方法返回后,傳遞的變量被認(rèn)為經(jīng)過(guò)了初始化。 5.1.3 參數(shù)傳遞參數(shù)傳遞 作用域也就是作用范圍的意思。它有局部作用域和類作用域之分。5.2 作用域作用域 界定方法主體的起始與結(jié)束大括號(hào)建立了一個(gè)作用域。方法主體中聲明的任何變量都具有那個(gè)方法的作用域;一旦方法結(jié)束,它們也會(huì)消失,而且只能由那個(gè)方法內(nèi)部執(zhí)行的代碼來(lái)訪問(wèn)。這些變量稱為
8、局部變量(local variable),因?yàn)樗鼈兙窒抻诼暶魉鼈兊哪莻€(gè)方法,不能在其他任何方法的作用域中使用。換言之,你不能使用局部變量在不同的方法之間共享信息。 5.2.1 定義局部作用域定義局部作用域 在類定義體中(但不在一個(gè)方法中)聲明的任何變量都具有那個(gè)類的作用域。在C#語(yǔ)言中,開(kāi)發(fā)者使用字段(field)一詞來(lái)描述由一個(gè)類定義的變量。和局部變量不同,你可以使用字段在不同的方法之間共享信息。 5.2.2定義類作用域定義類作用域 方法重載是聲明兩個(gè)以上的同名方法,實(shí)現(xiàn)對(duì)不同數(shù)據(jù)類型的相同處理。方法重載有兩點(diǎn)要求:l重載的方法名稱必須相同。l重載的方法,其形參個(gè)數(shù)或類型必須不同,否則將出現(xiàn)“已經(jīng)定義了一個(gè)具有相同類型參數(shù)的方法成員”的編譯錯(cuò)誤。5.2.3重載方法重載方法 例如能同時(shí)處理整型與浮點(diǎn)型數(shù)據(jù)的重載方法:public void Swap(ref int a,ref int b)public void Swap(ref float a,ref float b)5.2.3重載方法重載方法 System.Math類為三角函數(shù)、對(duì)數(shù)函數(shù)和其他通用數(shù)學(xué)函數(shù)提供
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制冷銷售合同范本
- 多人開(kāi)店合作合同范本
- 廠房機(jī)械維修服務(wù)合同范本
- 賣二手車合同范本
- 個(gè)人開(kāi)飯店合同范本
- 發(fā)票到付款 合同范本
- 廁所安裝合同范本
- 個(gè)人企業(yè)借款合同范本
- 廚房廚具改造合同范本
- 產(chǎn)品拍攝框架合同范本
- 工業(yè)地產(chǎn)基礎(chǔ)知識(shí)
- 馬工程《藝術(shù)學(xué)概論》課件424P
- 安全管理知識(shí)培訓(xùn)課件
- 酒店安全管理制度及應(yīng)急預(yù)案
- 房地產(chǎn)估價(jià)培訓(xùn)
- 2024年度智慧城市建設(shè)綜合解決方案投標(biāo)書實(shí)例3篇
- TDT1055-2019第三次全國(guó)國(guó)土調(diào)查技術(shù)規(guī)程
- 2021年河南公務(wù)員行測(cè)考試真題及答案
- 單晶爐車間安全培訓(xùn)
- 英語(yǔ)演講技巧與實(shí)訓(xùn)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 機(jī)械制造技術(shù)基礎(chǔ)(課程課件完整版)
評(píng)論
0/150
提交評(píng)論