版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,第四章 函數(shù),在程序中使用函數(shù)可以將若干條語句按照功能組織成一個獨立的代碼單元,這有利于復(fù)雜程序的組織、管理,有利于編程人員分工協(xié)作、逐步實現(xiàn)復(fù)雜的功能,有利于代碼的重復(fù)利用和維護。在C中,函數(shù)也稱為方法,在未介紹面向?qū)ο蟮挠嘘P(guān)概念之前,暫時使用函數(shù)這一術(shù)語,在本書的第5章介紹C#面向?qū)ο缶幊虝r,還會對方法進行介紹。 本章的主要內(nèi)容包括:怎樣在C#程序中定義和使用函數(shù),結(jié)合函數(shù)介紹變量作用域的有關(guān)概念,使用重載函數(shù)的意義以及委托的基本概念。,2,本章學(xué)習(xí)要點,在控制臺應(yīng)用程序中定義和使用函數(shù) 通過返回值和參數(shù),利用函數(shù)交換數(shù)據(jù) 參數(shù)數(shù)組 按引用或按值傳遞參數(shù) 使用輸出參數(shù) 變量作用域的概念
2、 理解函數(shù)的重載 委托的概念,3,4.1 定義函數(shù),要使用函數(shù),首先需要定義函數(shù)。在函數(shù)的定義中指定了函數(shù)所要完成的功能。函數(shù)的定義包含了兩個部分:函數(shù)頭和函數(shù)體。函數(shù)頭是函數(shù)定義中的第一行,在左花括號之前;函數(shù)體位于花括號對中,它包含了調(diào)用函數(shù)時要執(zhí)行的代碼。 1函數(shù)頭 2函數(shù)體 3參數(shù),4.2 使用函數(shù),在知道了怎樣在C#代碼中定義函數(shù)之后,下面介紹怎樣在C#中使用函數(shù)。函數(shù)本來就是一個邏輯功能單元,使用函數(shù)的最基本目的就是讓它實現(xiàn)某個功能;除了實現(xiàn)某個特定的功能之外,還可通過函數(shù)進行數(shù)據(jù)交換(主調(diào)函數(shù)和被調(diào)函數(shù)之間的數(shù)據(jù)交換),一種方式是使用函數(shù)的返回值,另一種方式是使用函數(shù)參數(shù);使用函
3、數(shù)的這兩個目的并非總是截然分開的,例如,有時需要進行數(shù)據(jù)交換才能實現(xiàn)某個特定的功能。,4,4.2.2 參數(shù),如果需要通過函數(shù)參數(shù)實現(xiàn)數(shù)據(jù)交換,必須在定義函數(shù)時,為函數(shù)指定要接受的參數(shù)列表,以及這些參數(shù)的類型;而且,在調(diào)用函數(shù)時要指定匹配的參數(shù)列表,即,實參的個數(shù)、類型和順序要與形參的個數(shù)、類型和順序保持一致,或者形參的類型能夠兼容實參的類型。 1關(guān)于參數(shù)匹配 2參數(shù)數(shù)組 3引用參數(shù)和值參數(shù) 4輸出參數(shù),5,4.3 變量的作用域,本章的上一節(jié)介紹了怎樣使用函數(shù)交換數(shù)據(jù),但為什么需要使用函數(shù)交換數(shù)據(jù)呢?這就涉及到了變量的作用域問題。 程序中定義的變量都具有特定的作用域,變量的作用域是指程序中哪些地
4、方可以使用該變量。不同變量的作用域可能是不同的,有的變量可以在程序的任何地方使用,而有的變量只能在程序的有限地方被使用。,6,4.4 函數(shù)重載,在編程中常常需要使用兩個或多個函數(shù)完成相同的任務(wù),但其參數(shù)的數(shù)據(jù)類型不同。例如,需要使用larger()函數(shù)的不同版本,查找出任何基本數(shù)據(jù)類型的兩個變量中的較大者。在理想情況下,所有這些函數(shù)都使用相同的名稱larger(),另一種方法是為int類型的變量定義函數(shù)largerInt()為double類型的變量定義函數(shù)largerDouble (),這兩個函數(shù)的作用是相同的,但卻使用不同的名字,看上去很笨拙,不如前一種方法方便。 在C#中,可以使用兩個或兩
5、個以上具有相同名稱只是參數(shù)聲明不完全相同的函數(shù),這種情況稱為函數(shù)的重載。概括地說,要重載函數(shù),只需聲明函數(shù)的不同版本,編譯器會處理剩余的工作。但重載函數(shù)的不同版本之間必須至少滿足下列所述的一個條件: 參數(shù)數(shù)目不同 參數(shù)類型不同 參數(shù)的順序不同,7,4.5 委托,委托是一種變量類型,可以間接地使用函數(shù)。同一個委托可以調(diào)用匹配于特定函數(shù)簽名的任何函數(shù),提供在程序運行期間對幾個函數(shù)進行選擇的能力。由于委托跟面向?qū)ο蟮母拍钣嘘P(guān),在未介紹C#面向?qū)ο缶幊讨?,本?jié)只介紹與委托有關(guān)的部分知識。 委托是一種可以把引用存儲為函數(shù)的類型。委托的聲明非常類似于函數(shù),但沒有函數(shù)體,而且要使用delegate關(guān)鍵字。委托的聲明指定了一個函數(shù)簽名,其中包括返回類型和參數(shù)列表;在聲明委托之后,就可以聲明該委托類型的變量了,可將該變量初始化為與委托有相同簽名的函數(shù)引用,然后,就可以使用委托變量調(diào)用這個函數(shù)。 在具有可引用函數(shù)的變量后,還可以執(zhí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)法規(guī)培訓(xùn)課件模板
- 2026年劇本殺運營公司異業(yè)合作洽談管理制度
- 互聯(lián)網(wǎng)會計面試自我介紹
- 人工智能推進基礎(chǔ)教育公平的現(xiàn)實隱憂與優(yōu)化路徑
- 2025年智能機器人行業(yè)創(chuàng)新與全球市場趨勢報告
- 2025年人工智能智能客服機器人技術(shù)創(chuàng)新在教育行業(yè)的應(yīng)用可行性報告
- 邊防輔警面試題目及答案
- 保險公司紀(jì)檢巡查制度
- 分級護理制度的護理團隊建設(shè)
- 企業(yè)案經(jīng)日制度
- 企業(yè)財務(wù)知識培訓(xùn)目的
- 警務(wù)基礎(chǔ)解脫技術(shù)
- xx市燃氣改造項目可行性研究報告
- 煤礦井下安全員考試題庫及答案
- 海洋油氣新型結(jié)構(gòu)材料分析報告
- 2025年無人駕駛公共交通產(chǎn)品競爭力分析可行性報告
- 自然分娩的好處
- 2025年電大法理學(xué)期末考試題庫及答案
- 2025年職業(yè)技能鑒定-冷作工-冷作工職業(yè)技能監(jiān)定(中級)歷年參考題庫含答案解析(5套)
- 新生兒查體步驟及內(nèi)容
- 2025至2030鸚鵡馴養(yǎng)繁殖行業(yè)市場發(fā)展現(xiàn)狀及競爭格局與投資價值報告
評論
0/150
提交評論