物聯(lián)網(wǎng).NET開(kāi)發(fā)(第二版) 課件 張勇 項(xiàng)目1-4 搭建Visual Studio開(kāi)發(fā)環(huán)境 - 會(huì)員管理系統(tǒng)_第1頁(yè)
物聯(lián)網(wǎng).NET開(kāi)發(fā)(第二版) 課件 張勇 項(xiàng)目1-4 搭建Visual Studio開(kāi)發(fā)環(huán)境 - 會(huì)員管理系統(tǒng)_第2頁(yè)
物聯(lián)網(wǎng).NET開(kāi)發(fā)(第二版) 課件 張勇 項(xiàng)目1-4 搭建Visual Studio開(kāi)發(fā)環(huán)境 - 會(huì)員管理系統(tǒng)_第3頁(yè)
物聯(lián)網(wǎng).NET開(kāi)發(fā)(第二版) 課件 張勇 項(xiàng)目1-4 搭建Visual Studio開(kāi)發(fā)環(huán)境 - 會(huì)員管理系統(tǒng)_第4頁(yè)
物聯(lián)網(wǎng).NET開(kāi)發(fā)(第二版) 課件 張勇 項(xiàng)目1-4 搭建Visual Studio開(kāi)發(fā)環(huán)境 - 會(huì)員管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩159頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

搭建VisualStudio開(kāi)發(fā)環(huán)境任務(wù)1:下載安裝VisualStudio任務(wù)2:VisualStudio開(kāi)發(fā)環(huán)境設(shè)置任務(wù)3:C#項(xiàng)目的創(chuàng)建項(xiàng)目一C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。C#因自身強(qiáng)大的操作能力、高效的運(yùn)行效率已成為.NET開(kāi)發(fā)的首選語(yǔ)言。MicrosoftVisualStudio是美國(guó)微軟公司的開(kāi)發(fā)工具包系列產(chǎn)品,簡(jiǎn)稱(chēng)VS,是目前最流行的的Windows平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境。本項(xiàng)目實(shí)現(xiàn)在個(gè)人微機(jī)上完成VisualStudio開(kāi)發(fā)環(huán)境的搭建。項(xiàng)目引入了解.NETFramework體系結(jié)構(gòu)了解VisualStudio開(kāi)發(fā)環(huán)境掌握VisualStudio的下載和安裝掌握C#項(xiàng)目創(chuàng)建及運(yùn)行方法學(xué)習(xí)目標(biāo)搭建VisualStudio開(kāi)發(fā)環(huán)境首先必須下載VisualStudio的安裝包,通過(guò)安裝包完成應(yīng)用軟件的安裝,在應(yīng)用軟件安裝成功后,進(jìn)行個(gè)性化的開(kāi)發(fā)環(huán)境設(shè)置并實(shí)現(xiàn)第一個(gè)C#項(xiàng)目的創(chuàng)建及運(yùn)行。項(xiàng)目描述任務(wù)1:下載安裝VisualStudio任務(wù)2:VisualStudio開(kāi)發(fā)環(huán)境設(shè)置任務(wù)3:C#項(xiàng)目的創(chuàng)建工作任務(wù)任務(wù)描述

選擇VisualStudio下載版本后,正確安裝VisualStudio開(kāi)發(fā)環(huán)境。知識(shí)引入MicrosoftVisualStudio簡(jiǎn)稱(chēng)VS,是美國(guó)微軟公司的開(kāi)發(fā)工具包系列產(chǎn)品。VS是一個(gè)基本完整的開(kāi)發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開(kāi)發(fā)環(huán)境(IDE)等等。所寫(xiě)的目標(biāo)代碼適用于微軟支持的所有平臺(tái),包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NetCore、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。VisualStudio是目前最流行的Windows平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境。任務(wù)1下載安裝VisualStudio1.下載VisualStudio安裝包VisualStudio可以到官網(wǎng)下載,官網(wǎng)地址為:/選擇下載版本后,下載得到安裝包對(duì)應(yīng)的iso文件:_chs.iso。任務(wù)1下載安裝VisualStudio任務(wù)實(shí)現(xiàn)2.解壓縮安裝包對(duì)應(yīng)的iso文件安裝包解壓后得到的解壓縮文件結(jié)構(gòu)如圖所示:任務(wù)1下載安裝VisualStudio任務(wù)實(shí)現(xiàn)3.雙擊運(yùn)行vs_community.exe文件開(kāi)始安裝運(yùn)行安裝文件后,VisualStudio開(kāi)始初始化安裝環(huán)境,運(yùn)行效果如圖所示:任務(wù)1下載安裝VisualStudio任務(wù)實(shí)現(xiàn)4.選擇安裝位置初始化安裝環(huán)境完成后,點(diǎn)擊下一步,選擇VisualStudio的安裝位置如圖所示:任務(wù)1下載安裝VisualStudio任務(wù)實(shí)現(xiàn)5.自定義安裝選擇“自定義安裝”,單擊下一步后,要求選擇VisualStudio需要安裝的功能,效果如圖所示:任務(wù)1下載安裝VisualStudio任務(wù)實(shí)現(xiàn)6.安裝完成VisualStudio安裝完成后,將提示安裝完成,如圖所示:任務(wù)1下載安裝VisualStudio任務(wù)實(shí)現(xiàn)VisualStudio的安裝包為iso文件,不解壓也可通過(guò)虛擬光驅(qū)進(jìn)行安裝。VisualStudio以“默認(rèn)值”方式進(jìn)行安裝將占據(jù)更大的磁盤(pán)空間和系統(tǒng)資源,并且安裝時(shí)間更長(zhǎng),建議根據(jù)需要進(jìn)行“自定義安裝”。任務(wù)1下載安裝VisualStudio任務(wù)小結(jié)任務(wù)描述VisualStudio第一次啟動(dòng)及在代碼編寫(xiě)過(guò)程中,可對(duì)開(kāi)發(fā)環(huán)境進(jìn)行個(gè)性化的主題及字體格式設(shè)置,在程序運(yùn)行及調(diào)試過(guò)程中可以根據(jù)需要打開(kāi)或關(guān)閉部分視圖窗口。知識(shí)引入

視圖窗口字體格式設(shè)置,包括字體大小、前景顏色、背景顏色等設(shè)置。部分視圖在程序編寫(xiě)、程序調(diào)試、程序運(yùn)行的不同階段可以根據(jù)需要進(jìn)行關(guān)閉或重新打開(kāi)。任務(wù)2

VisualStudio開(kāi)發(fā)環(huán)境設(shè)置1.初次運(yùn)行開(kāi)發(fā)及主題設(shè)置VisualStudio第一次啟動(dòng),將要求進(jìn)行“開(kāi)發(fā)設(shè)置”及“主題設(shè)置”,效果如圖所示:任務(wù)2

VisualStudio開(kāi)發(fā)環(huán)境設(shè)置任務(wù)實(shí)現(xiàn)2.字體格式設(shè)置單擊菜單“工具”-“選項(xiàng)”,可對(duì)VisualStudio開(kāi)發(fā)環(huán)境參數(shù)進(jìn)行設(shè)置,如圖所示:任務(wù)2

VisualStudio開(kāi)發(fā)環(huán)境設(shè)置任務(wù)實(shí)現(xiàn)2.字體格式設(shè)置點(diǎn)擊左邊“環(huán)境”選項(xiàng)中的“字體和顏色”,可對(duì)不同視圖窗口中字體格式進(jìn)行設(shè)置,如圖所示:任務(wù)2

VisualStudio開(kāi)發(fā)環(huán)境設(shè)置任務(wù)實(shí)現(xiàn)3.顯示關(guān)閉視圖窗口在VisualStudio開(kāi)發(fā)應(yīng)用程序過(guò)程中,要重新顯示關(guān)閉的解決方案管理器、屬性、輸出列表等窗口,可通過(guò)單擊“視圖”菜單顯示被關(guān)閉的窗口,如圖所示:任務(wù)2

VisualStudio開(kāi)發(fā)環(huán)境設(shè)置任務(wù)實(shí)現(xiàn)通過(guò)VisualStudio開(kāi)發(fā)環(huán)境中的“工具”-“選項(xiàng)”菜單可以對(duì)開(kāi)發(fā)環(huán)境及項(xiàng)目進(jìn)行個(gè)性化配置。通過(guò)VisualStudio開(kāi)發(fā)環(huán)境中的“視圖”菜單可以重新顯示被關(guān)閉的視圖窗口。任務(wù)小結(jié)任務(wù)2

VisualStudio開(kāi)發(fā)環(huán)境設(shè)置C#為.NET開(kāi)發(fā)的首選語(yǔ)言,VisualStudio開(kāi)發(fā)環(huán)境主要用來(lái)進(jìn)行.NET開(kāi)發(fā),.NET應(yīng)用程序以項(xiàng)目的形式進(jìn)行創(chuàng)建,使用VisualStudio創(chuàng)建控制臺(tái)應(yīng)用程序項(xiàng)目并成功調(diào)試運(yùn)行是學(xué)習(xí).NET開(kāi)發(fā)的第一步。任務(wù)描述任務(wù)3

C#項(xiàng)目的創(chuàng)建控制臺(tái)應(yīng)用程序:能夠運(yùn)行在MS-DOS環(huán)境中的程序。控制臺(tái)應(yīng)用程序沒(méi)有類(lèi)似于windows窗口的可視化界面,主要是文本字符的輸出,控制臺(tái)應(yīng)用程序主要用來(lái)學(xué)習(xí)一門(mén)語(yǔ)言的基本語(yǔ)法結(jié)構(gòu)及調(diào)試監(jiān)控程序。“C#”為面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,C#應(yīng)用程序以項(xiàng)目的形式進(jìn)行創(chuàng)建,一個(gè)控制臺(tái)應(yīng)用程序就是一個(gè)項(xiàng)目。解決方案:解決方案是用來(lái)組織項(xiàng)目的,一個(gè)解決方案可以由多個(gè)項(xiàng)目組成,解決方案名稱(chēng)可以與項(xiàng)目不同名,在新建一個(gè)應(yīng)用程序項(xiàng)目時(shí),解決方案名默認(rèn)與第一個(gè)項(xiàng)目同名。知識(shí)引入任務(wù)3

C#項(xiàng)目的創(chuàng)建1.新建控制臺(tái)項(xiàng)目單擊菜單“文件”-“新建”-“項(xiàng)目”,如圖所示:任務(wù)實(shí)現(xiàn)任務(wù)3

C#項(xiàng)目的創(chuàng)建1.新建控制臺(tái)項(xiàng)目在模板中選擇“Visualc#”,項(xiàng)目列表中選擇“控制臺(tái)應(yīng)用程序”,輸入項(xiàng)目名稱(chēng)和解決方案名稱(chēng),選擇存儲(chǔ)位置,點(diǎn)擊確定,編寫(xiě)源程序如下:任務(wù)實(shí)現(xiàn)任務(wù)3

C#項(xiàng)目的創(chuàng)建usingSystem;namespaceHelloWorld{classProgram{staticvoidM

ain(string[]args){Console.WriteLine("HelloWorld!");}}}

都改為小寫(xiě)“m”嗎?沒(méi)有錯(cuò)誤!不需要改。2.運(yùn)行控制臺(tái)程序單擊菜單“調(diào)試”-“開(kāi)始調(diào)試”,可編譯源程序,檢查源程序代碼錯(cuò)誤,根據(jù)錯(cuò)誤及提示修改源程序,單擊菜單“調(diào)試”-“開(kāi)始執(zhí)行(不調(diào)試)”可直接執(zhí)行源程序,控制臺(tái)程序運(yùn)行效果如圖所示:任務(wù)實(shí)現(xiàn)任務(wù)3

C#項(xiàng)目的創(chuàng)建VisualStudio開(kāi)發(fā)應(yīng)用程序時(shí),將自動(dòng)引用命名空間,引用命名空間的關(guān)鍵字為using,System命名空間支持“C#”輸入輸出代碼的執(zhí)行?!癈#”程序開(kāi)發(fā)以“解決方案”管理組織項(xiàng)目,一個(gè)解決方案可包含多個(gè)項(xiàng)目?!癈#”程序開(kāi)發(fā)區(qū)分大小寫(xiě)?!癈#”應(yīng)用程序代碼編寫(xiě)過(guò)程中,除漢字外其他字符必須使用英文輸入法狀態(tài)進(jìn)行輸入,包括標(biāo)點(diǎn)符號(hào)。任務(wù)小結(jié)任務(wù)3

C#項(xiàng)目的創(chuàng)建.NET

Framework包含兩個(gè)主要組件:公共語(yǔ)言運(yùn)行時(shí)(CLR)和.NET

Framework類(lèi)庫(kù)(FCL)。.NET

Framework框架類(lèi)庫(kù)提供了大量的類(lèi)和方法,在使用前通過(guò)關(guān)鍵字using引用命名空間,所有的命名空間都是從System命名空間形成的。.NET

Framework開(kāi)發(fā)的首選語(yǔ)言為C#,可以用來(lái)創(chuàng)建控制臺(tái)程序、windows窗體程序、Web應(yīng)用程序、Web服務(wù)和其他各種類(lèi)型的應(yīng)用程序。VisualStudio是美國(guó)微軟公司的開(kāi)發(fā)工具包系列產(chǎn)品,是目前最流行的Windows平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境。項(xiàng)目總結(jié)聯(lián)通手機(jī)充值系統(tǒng)任務(wù)1:主菜單實(shí)現(xiàn)任務(wù)2:登陸驗(yàn)證任務(wù)3:查詢(xún)、充值功能實(shí)現(xiàn)項(xiàng)目二聯(lián)通手機(jī)充值項(xiàng)目實(shí)現(xiàn)了聯(lián)通手機(jī)余額查詢(xún)、余額充值功能,模擬了聯(lián)通用戶(hù)客戶(hù)端的查詢(xún)、充值操作。C#作為一門(mén)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,具有自己的語(yǔ)句特點(diǎn),項(xiàng)目由語(yǔ)言本身的程序結(jié)構(gòu)組成,程序結(jié)構(gòu)主要包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。通過(guò)項(xiàng)目的實(shí)現(xiàn),有助于理解變量、常量、表達(dá)式、數(shù)組、選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、方法等C#程序設(shè)計(jì)語(yǔ)法基礎(chǔ)。項(xiàng)目引入掌握常量、變量的定義及使用掌握常用運(yùn)算符的使用掌握選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)掌握數(shù)組的定義及使用掌握方法的定義及使用學(xué)習(xí)目標(biāo)聯(lián)通手機(jī)充值項(xiàng)目模擬聯(lián)通營(yíng)業(yè)大廳客戶(hù)端的充值、查詢(xún)功能。項(xiàng)目首先要求輸入用戶(hù)名及密碼,如圖所示:項(xiàng)目描述系統(tǒng)對(duì)信息進(jìn)行驗(yàn)證,驗(yàn)證不通過(guò),則要求再次輸入,如果輸入錯(cuò)誤次數(shù)達(dá)到三次,系統(tǒng)則自動(dòng)退出,如圖所示:驗(yàn)證通過(guò)則顯示主菜單,如圖所示:項(xiàng)目描述此時(shí)等待用戶(hù)選擇菜單,如果選擇菜單不存在,則顯示錯(cuò)誤信息,系統(tǒng)退出,如圖所示:如果選擇菜單1,則進(jìn)入查詢(xún)功能,要求輸入查詢(xún)的手機(jī)號(hào),如果手機(jī)號(hào)不是聯(lián)通手機(jī)號(hào)碼或手機(jī)號(hào)不在初始化數(shù)據(jù)中,則顯示錯(cuò)誤信息,系統(tǒng)退出,如圖所示:項(xiàng)目描述如果手機(jī)號(hào)有效,則顯示當(dāng)前手機(jī)號(hào)的余額,顯示完后等待用戶(hù)再次選擇菜單:如圖所示:如果選擇菜單2,則進(jìn)入充值功能,要求輸入充值的手機(jī)號(hào),如果手機(jī)號(hào)不是聯(lián)通手機(jī)號(hào)碼或手機(jī)號(hào)不在初始化數(shù)據(jù)中,則顯示錯(cuò)誤信息,系統(tǒng)退出,如圖所示:項(xiàng)目描述如果手機(jī)號(hào)有效,則要求輸入充值的金額,如果輸入金額數(shù)字無(wú)效,則顯示錯(cuò)誤信息,系統(tǒng)退出,如圖所示:如果金額有效,則將輸入的金額累加至當(dāng)前手機(jī)號(hào)現(xiàn)有余額,顯示充值成功信息,顯示完后等待用戶(hù)再次選擇菜單:如圖所示:項(xiàng)目描述如果選擇菜單3,則系統(tǒng)正常退出。如圖所示:任務(wù)1:主菜單實(shí)現(xiàn)任務(wù)2:登陸驗(yàn)證任務(wù)3:查詢(xún)、充值功能實(shí)現(xiàn)工作任務(wù)任務(wù)描述

主菜單顯示,當(dāng)用戶(hù)選擇菜單后,執(zhí)行菜單對(duì)應(yīng)代碼塊,如果輸入菜單不存在,則顯示錯(cuò)誤提示信息。任務(wù)1主菜單實(shí)現(xiàn)1.C#中的常量與變量

程序設(shè)計(jì)中的數(shù)據(jù)必須存儲(chǔ)在計(jì)算機(jī)的內(nèi)存單元,不同的數(shù)據(jù)存儲(chǔ)在不同的位置,為保證不同數(shù)據(jù)的正確存、取,程序設(shè)計(jì)中為它們定義不同的名稱(chēng),常量與變量對(duì)應(yīng)這些名稱(chēng),因此在程序設(shè)計(jì)中就必須定義不同的常量與變量來(lái)存儲(chǔ)數(shù)據(jù)。常量和變量根據(jù)數(shù)據(jù)的使用場(chǎng)合對(duì)應(yīng)不同的數(shù)據(jù)類(lèi)型,每種數(shù)據(jù)類(lèi)型的占據(jù)的內(nèi)存單元大小和數(shù)據(jù)范圍各不相同。C#預(yù)定義數(shù)據(jù)類(lèi)型如表所示:任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入數(shù)據(jù)類(lèi)型標(biāo)識(shí)符說(shuō)明默認(rèn)值int32位有符號(hào)整數(shù)0float單精度浮點(diǎn)數(shù)0.0Fdouble雙精度浮點(diǎn)數(shù)0.0D、0.0decimal高精度浮點(diǎn)數(shù)0.0Mbyte8位無(wú)符號(hào)整數(shù)0short16位有符號(hào)整數(shù)0long64位有符號(hào)整數(shù)0Lbool布爾類(lèi)型falsechar字符類(lèi)型‘\0’string字符串類(lèi)型null1.C#中的常量與變量變量的定義類(lèi)型標(biāo)識(shí)符變量名;例:inti;變量的賦值例:stringstr=”admin”;charflag=’A’;intn;n=100;說(shuō)明:“=”在C#中表示賦值,“==”表示等于。常量的定義與賦值例:constdoublePI=3.14;變量的輸入stringstr=Console.ReadLine();inti=int.Parse(Console.ReadLine());任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入2.C#中的表達(dá)式算術(shù)表達(dá)式算術(shù)運(yùn)算符包括:+-*/%++--~例:inta=120;a=b+20;intc=100/5;c++;任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入2.C#中的表達(dá)式任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入【例2-1】輸入一個(gè)三位數(shù),逆序輸出該數(shù),例:輸入123輸出321。classDemo2_1{staticvoidMain(string[]args){inti,a,b,c;Console.WriteLine("請(qǐng)輸入一個(gè)三位數(shù):");i=int.Parse(Console.ReadLine());a=i/100;b=i/10%10;c=i%10;Console.WriteLine("逆序輸出為:"+c+b+a);}}2.C#中的表達(dá)式任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入關(guān)系表達(dá)式關(guān)系運(yùn)算符包括:><>=<===!=例:a>=120;b==c;邏輯表達(dá)式邏輯運(yùn)算符:&&||!例:a>b&&b>c!(a>100)賦值表達(dá)式賦值運(yùn)算符:=+=-+*=/=%=例:a+=20;b*=3;條件運(yùn)算表達(dá)式條件運(yùn)算符:?:例:inta=100,b=80,c;c=a>b?a:b;3.選擇結(jié)構(gòu)程序設(shè)計(jì)任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入

在程序設(shè)計(jì)過(guò)程中,如果需要對(duì)某個(gè)條件進(jìn)行判斷,在滿(mǎn)足條件的情況下才執(zhí)行特定操作,不滿(mǎn)足條件則不執(zhí)行特定操作或執(zhí)行其它操作,則需要使用選擇結(jié)構(gòu)進(jìn)行程序設(shè)計(jì)。if語(yǔ)句格式:if(條件表達(dá)式)

{代碼塊}3.選擇結(jié)構(gòu)程序設(shè)計(jì)任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入【例2-2】輸入三個(gè)整數(shù),從大到小輸出。classDemo2_2{staticvoidMain(string[]args){inta,b,c,t;Console.WriteLine("請(qǐng)輸入三個(gè)整數(shù):");a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());c=int.Parse(Console.ReadLine());if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}Console.WriteLine("從大到小輸出為:");Console.WriteLine(a+","+b+","+c);}}3.選擇結(jié)構(gòu)程序設(shè)計(jì)任務(wù)1主菜單實(shí)現(xiàn)知識(shí)引入if…else語(yǔ)句格式一:if(條件表達(dá)式)

{代碼塊}else

{代碼塊}格式二:if(條件表達(dá)式)

{代碼塊}elseif(條件表達(dá)式){代碼塊}elseif(條件表達(dá)式){代碼塊}

……

else{代碼塊}switch語(yǔ)句格式:switch(常量){case值1:

語(yǔ)句塊break;case值2:

語(yǔ)句塊break;case值3:

語(yǔ)句塊break;……defalult:語(yǔ)句塊break;}1.方法一:用if語(yǔ)句實(shí)現(xiàn)主菜單的選擇任務(wù)1

主菜單實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)【例2-3】classDemo2_3{staticvoidMain(string[]args){Console.WriteLine("聯(lián)通手機(jī)充值系統(tǒng)");Console.WriteLine("****************************");Console.WriteLine("1.------查詢(xún)");Console.WriteLine("2.------充值");Console.WriteLine("3.------退出");Console.WriteLine("****************************");Console.WriteLine("請(qǐng)輸入您的選擇:");inti;i=int.Parse(Console.ReadLine());if(i==1){Console.WriteLine("您選擇的是:1.--查詢(xún)");}elseif(i==2){Console.WriteLine("您選擇的是:2.--充值");}else

if(i==3){Console.WriteLine("您選擇的是:3.--退出");}else{Console.WriteLine("您輸入的菜單不存在!謝謝使用!再見(jiàn)!"); }}}2.方法二:用switch語(yǔ)句實(shí)現(xiàn)主菜單的選擇任務(wù)1

主菜單實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)【例2-4】classDemo2_4{staticvoidMain(string[]args){Console.WriteLine("聯(lián)通手機(jī)充值系統(tǒng)");Console.WriteLine("****************************");Console.WriteLine("1.------查詢(xún)");Console.WriteLine("2.------充值");Console.WriteLine("3.------退出");Console.WriteLine("****************************");Console.WriteLine("請(qǐng)輸入您的選擇:");inti;i=int.Parse(Console.ReadLine());switch(i){case1:Console.WriteLine("您選擇的是:1.--查詢(xún)");break;case2:Console.WriteLine("您選擇的是:2.--充值");break;case3:Console.WriteLine("您選擇的是:3.--退出");break;default:Console.WriteLine("您輸入的菜單不存在!謝謝使用!再見(jiàn)!");break;}}}常量和變量必須定義后才能使用,不同的數(shù)據(jù)類(lèi)型對(duì)應(yīng)不同大小的存儲(chǔ)單元。不同的數(shù)據(jù)類(lèi)型之間的賦值要進(jìn)行類(lèi)型轉(zhuǎn)換。選擇結(jié)構(gòu)程序設(shè)計(jì)在執(zhí)行過(guò)程中某一時(shí)刻只會(huì)執(zhí)行其中的一個(gè)分支。任務(wù)1

主菜單實(shí)現(xiàn)任務(wù)小結(jié)任務(wù)描述

進(jìn)入系統(tǒng)后要求輸入用戶(hù)名及密碼,用戶(hù)名為“admin”和密碼為“123456”,如果用戶(hù)名或密碼輸入錯(cuò)誤,則輸出錯(cuò)誤提示信息并累計(jì)錯(cuò)誤次數(shù),如果錯(cuò)誤次數(shù)達(dá)到三次,系統(tǒng)提示“用戶(hù)名或密碼輸入錯(cuò)誤已達(dá)三次!系統(tǒng)將自動(dòng)退出!”,系統(tǒng)自動(dòng)退出,如果用戶(hù)名及密碼輸入正確,則顯示“歡迎進(jìn)入聯(lián)通手機(jī)充值系統(tǒng)”。任務(wù)2登陸驗(yàn)證1.循環(huán)結(jié)構(gòu)程序設(shè)計(jì)在程序設(shè)計(jì)過(guò)程中,如果在滿(mǎn)足某個(gè)條件的情況下,需要重復(fù)執(zhí)行特定操作多次,則需要用到循環(huán)結(jié)構(gòu)進(jìn)行程序設(shè)計(jì),因此循環(huán)結(jié)構(gòu)又稱(chēng)為重復(fù)結(jié)構(gòu)。while語(yǔ)句格式:while(條件表達(dá)式){代碼塊}任務(wù)2

登陸驗(yàn)證知識(shí)引入1.循環(huán)結(jié)構(gòu)程序設(shè)計(jì)任務(wù)2

登陸驗(yàn)證知識(shí)引入【例2-5】求1+2+3+…..100classDemo2_5{staticvoidMain(string[]args){intsum,i;sum=0;i=1;while(i<=100){sum+=i;i++;}Console.WriteLine("1+2+3+...+100="+sum);}}1.循環(huán)結(jié)構(gòu)程序設(shè)計(jì)任務(wù)2

登陸驗(yàn)證知識(shí)引入do…while語(yǔ)句格式:do{代碼塊}while(條件表達(dá)式);注意:do…while語(yǔ)句中代碼塊至少執(zhí)行一次,而while語(yǔ)句中代碼塊可能一次也不執(zhí)行。for語(yǔ)句格式:for(表達(dá)式1:表達(dá)式2:表達(dá)式3)代碼塊}1.循環(huán)結(jié)構(gòu)程序設(shè)計(jì)任務(wù)2

登陸驗(yàn)證知識(shí)引入【例2-6】求1*2*3*…*10classDemo2_6{staticvoidMain(string[]args){intp=1,i;for(i=1;i<=10;i++){p*=i;}Console.WriteLine("1*2*3*...*10="+p);}}【例2-7】classDemo2_7{staticvoidMain(string[]args){inti=1;stringuserName,pwd;Console.WriteLine("歡迎進(jìn)入聯(lián)通手機(jī)充值系統(tǒng)");Console.WriteLine("請(qǐng)輸入用戶(hù)名:");userName=Console.ReadLine();Console.WriteLine("請(qǐng)輸入密碼:");pwd=Console.ReadLine();任務(wù)2

登陸驗(yàn)證任務(wù)實(shí)現(xiàn)while(i<3){if(userName.Equals("admin")&&pwd.Equals("123456")){Console.WriteLine("歡迎進(jìn)入聯(lián)通手機(jī)充值系統(tǒng)");break;}else{Console.WriteLine("您輸入的用戶(hù)名或密碼錯(cuò)誤,請(qǐng)重新輸入:");Console.WriteLine("請(qǐng)輸入用戶(hù)名:");userName=Console.ReadLine();Console.WriteLine("請(qǐng)輸入密碼:");pwd=Console.ReadLine();i++;}if(i>2){Console.WriteLine("用戶(hù)名或密碼輸入錯(cuò)誤已達(dá)三次!系統(tǒng)將自動(dòng)退出!");}}}}循環(huán)結(jié)構(gòu)程序設(shè)計(jì)實(shí)現(xiàn)程序在滿(mǎn)足一定條件下需要重復(fù)執(zhí)行一段代碼塊的操作。不同循環(huán)結(jié)構(gòu)語(yǔ)句之間可以相互轉(zhuǎn)換。break語(yǔ)句可以提前終止整個(gè)循環(huán),continue語(yǔ)句可以提前終止本次循環(huán)。任務(wù)小結(jié)任務(wù)2

登陸驗(yàn)證用戶(hù)名和密碼驗(yàn)證通過(guò)后,系統(tǒng)顯示主菜單,如果用戶(hù)選擇查詢(xún)菜單,則要求用戶(hù)輸入要查詢(xún)的手機(jī)號(hào),系統(tǒng)對(duì)手機(jī)號(hào)進(jìn)行驗(yàn)證,驗(yàn)證不通過(guò),提示錯(cuò)誤信息,驗(yàn)證通過(guò),顯示當(dāng)前手機(jī)號(hào)對(duì)應(yīng)余額,如果用戶(hù)選擇充值菜單,則要求用戶(hù)輸入要充值的手機(jī)號(hào),系統(tǒng)對(duì)手機(jī)號(hào)進(jìn)行驗(yàn)證,驗(yàn)證不通過(guò),提示錯(cuò)誤信息,驗(yàn)證通過(guò),要求輸入充值金額,系統(tǒng)對(duì)金額數(shù)據(jù)進(jìn)行判斷,如果數(shù)據(jù)無(wú)效,提示錯(cuò)誤信息,如果數(shù)據(jù)有效,則將輸入的充值金額累加到當(dāng)前手機(jī)用戶(hù)余額中。任務(wù)描述任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)數(shù)組在程序設(shè)計(jì)中,對(duì)于同一類(lèi)型相關(guān)聯(lián)的一組數(shù)如果分別為每一個(gè)數(shù)定義一個(gè)變量名,既不利于程序的易讀性,也不利于表達(dá)一組數(shù)據(jù)之間的相互關(guān)系,這時(shí),可以使用數(shù)組來(lái)定義這些數(shù)據(jù)。數(shù)組的定義:數(shù)據(jù)類(lèi)型[]數(shù)組名例:

int[]a;int[]arr=newint[5];知識(shí)引入任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)數(shù)組【例2-8】輸入5名評(píng)委給選手的評(píng)分,去掉一個(gè)最高分,去掉一個(gè)最低分,其它評(píng)分求平均分作為選手的最后得分,輸出選手的最終成績(jī)。知識(shí)引入任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)操作演示字符串函數(shù)ToLower():得到字符串的小寫(xiě)形。ToUpper():得到字符串的大寫(xiě)形。Trim():去掉字符串兩邊的空白字。Substring(index,length):獲取從字符串index位置開(kāi)始,長(zhǎng)度為length的子字符。IndexOf(charvalue):獲取字符串第一次出現(xiàn)value字符的位置。Equals():判斷兩個(gè)字符串是否相同。如果用“==”判斷兩個(gè)字符串是否相同,則不區(qū)別大小寫(xiě)。知識(shí)引入任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)方法在程序設(shè)計(jì)過(guò)程中,如果相同的一系列語(yǔ)句或具有選定功能的一段代碼塊在整個(gè)項(xiàng)目中需要重復(fù)使用多次,為了提高程序的易讀性及代碼塊的復(fù)用性,應(yīng)該將該代碼塊定義為一個(gè)方法,當(dāng)代碼塊定義為方法后,可以達(dá)到定義一次,調(diào)用多次的效果,而調(diào)用方法只需要一條簡(jiǎn)單的語(yǔ)句。方法的定義:[修飾符]方法的返回值

方法名([方法的參數(shù)列表]){

代碼塊}方法的調(diào)用:方法名([實(shí)參值])知識(shí)引入任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)方法知識(shí)引入任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)【例2-9】定義一個(gè)方法求兩個(gè)數(shù)的較大值,輸入兩個(gè)數(shù),調(diào)用該方法輸出較大值。classDemo2_9{publicstaticintadd(inta,intb){return(a>b?a:b);}staticvoidMain(string[]args){inta,b;Console.WriteLine("請(qǐng)輸入兩個(gè)數(shù):");a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());Console.WriteLine("較大值為:"+add(a,b));}}1.定義初始化數(shù)據(jù)方法靜態(tài)方法,返回值為數(shù)組,在方法內(nèi)部使用字符串?dāng)?shù)組模擬已有數(shù)據(jù),元素存儲(chǔ)形式為字符串“手機(jī)號(hào),余額”。在程序設(shè)計(jì)中使用Substring()方法分別獲取手機(jī)號(hào)和余額。publicstaticstring[]init(){

……

}2.定義手機(jī)號(hào)有效性驗(yàn)證方法靜態(tài)方法,返回值為整數(shù),如果手機(jī)號(hào)碼不是聯(lián)通手機(jī)號(hào)碼或手機(jī)號(hào)碼不在初始化數(shù)據(jù)中,則返回值為-1,否則返回值為該手機(jī)號(hào)在初始化數(shù)據(jù)中的下標(biāo)。publicstaticinttestPhone(stringphone,string[]unicomData){

……..

}3.定義查詢(xún)方法靜態(tài)方法,沒(méi)有返回值,實(shí)現(xiàn)余額查詢(xún)功能,要求輸入手機(jī)號(hào),調(diào)用手機(jī)號(hào)有效性驗(yàn)證方法,如果手機(jī)號(hào)碼有效,則輸出該手機(jī)號(hào)余額。publicstaticvoidchaxun(string[]unicomData){……..

}任務(wù)實(shí)現(xiàn)任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)4.定義充值方法靜態(tài)方法,沒(méi)有返回值,實(shí)現(xiàn)余額查詢(xún)功能,要求輸入手機(jī)號(hào),調(diào)用手機(jī)號(hào)有效性驗(yàn)證方法,如果手機(jī)號(hào)碼有效,則要求輸出充值金額,如果充值金額有效,則將充值金額累加至該手機(jī)號(hào)現(xiàn)有余額。publicstaticvoidchonzhi(string[]unicomData){……..

}5.定義主菜單方法靜態(tài)方法,沒(méi)有返回值,實(shí)現(xiàn)菜單的輸出,當(dāng)選擇菜單1時(shí),調(diào)用查詢(xún)方法,當(dāng)選擇菜單2時(shí)調(diào)用充值方法。publicstaticvoidmenu(string[]unicomData){……..

}6.定義登陸方法靜態(tài)方法,沒(méi)有返回值,實(shí)現(xiàn)登陸驗(yàn)證功能,如果登陸驗(yàn)證通過(guò),調(diào)用主菜單,輸出主菜單供用戶(hù)選擇。publicstaticvoidload(string[]unicomData){……..

}任務(wù)實(shí)現(xiàn)任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)7.編寫(xiě)調(diào)試項(xiàng)目二新建控制臺(tái)項(xiàng)目,項(xiàng)目名lesson2,解決方案名lesson2,添加類(lèi)Demo2_10,設(shè)置啟動(dòng)對(duì)象為Demo2_10,編寫(xiě)調(diào)試項(xiàng)目二,程序如下:任務(wù)實(shí)現(xiàn)任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)操作演示數(shù)組表示相同類(lèi)型的一組數(shù),數(shù)組的下標(biāo)由0開(kāi)始。方法用來(lái)組織具有一定功能的代碼塊,方法在定義后可以通過(guò)語(yǔ)句進(jìn)行調(diào)用,提高代碼的復(fù)用性。任務(wù)小結(jié)任務(wù)3查詢(xún)、充值功能實(shí)現(xiàn)“C#”控制臺(tái)程序由流程結(jié)構(gòu)組成,流程結(jié)構(gòu)主要包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。常量和變量必須先定義后使用,常量和變量在定義的時(shí)候需要指定數(shù)據(jù)類(lèi)型,常量的值不能改變,不同數(shù)據(jù)類(lèi)型值可以相互轉(zhuǎn)換。數(shù)組用來(lái)組織管理相同類(lèi)型相關(guān)聯(lián)的一組數(shù),數(shù)組的下標(biāo)由0開(kāi)始。方法定義一次,可調(diào)用多次。項(xiàng)目總結(jié)銀行卡開(kāi)戶(hù)管理任務(wù)1:銀行業(yè)務(wù)類(lèi)定義任務(wù)2:銀行卡賬戶(hù)類(lèi)定義任務(wù)3:銀行卡賬戶(hù)開(kāi)戶(hù)實(shí)現(xiàn)項(xiàng)目三一般銀行賬戶(hù)分為:借記卡賬戶(hù)和信用卡賬戶(hù),銀行卡開(kāi)戶(hù)管理項(xiàng)目實(shí)現(xiàn)了銀行新賬戶(hù)開(kāi)戶(hù),模擬了ATM機(jī)上的存款、取款和余額查詢(xún)操作。為解決早期面向過(guò)程語(yǔ)言基于模塊設(shè)計(jì)方式,導(dǎo)致軟件修改困難等缺陷,面向?qū)ο蟮募夹g(shù)應(yīng)運(yùn)而生,它是一種強(qiáng)有力的軟件開(kāi)發(fā)方法,它將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作(數(shù)據(jù)和操作該數(shù)據(jù)的方法)作為一個(gè)相互依賴(lài)、不可分割的整體,力圖使對(duì)現(xiàn)實(shí)世界問(wèn)題的求解簡(jiǎn)單化。它符合人們的思維習(xí)慣,同時(shí)有助于控制軟件的復(fù)雜性,提高軟件的生產(chǎn)效率,從而得到了廣泛的應(yīng)用,已成為目前最為流行的一種軟件開(kāi)發(fā)方法。C#作為面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言代表之一,項(xiàng)目由C#面向?qū)ο笳Z(yǔ)言完成。通過(guò)項(xiàng)目的實(shí)現(xiàn),有助于理解類(lèi)和對(duì)象的定義、成員變量和方法、構(gòu)造方法、繼承和多態(tài)等C#面向?qū)ο蠡A(chǔ)和應(yīng)用。項(xiàng)目引入掌握類(lèi)的概念和定義掌握對(duì)象的意義和實(shí)例化對(duì)象掌握成員方法的定義掌握構(gòu)造方法的定義和作用掌握繼承的概念及使用掌握多態(tài)的概念及使用學(xué)習(xí)目標(biāo)借記卡賬戶(hù):是指先存款后消費(fèi)(或取現(xiàn)),沒(méi)有透支功能的銀行卡,即存儲(chǔ)卡賬戶(hù)。信用卡賬戶(hù):信用卡是一種非現(xiàn)金交易付款的方式,是簡(jiǎn)單的信貸服務(wù)。在借記卡功能的基礎(chǔ)上可以透支,但是有透支額度,即透支只能在一定的金額范圍內(nèi)透支。銀行卡開(kāi)戶(hù)管理項(xiàng)目實(shí)現(xiàn)了銀行新賬戶(hù)開(kāi)戶(hù),模擬了ATM機(jī)上的存款、取款和余額查詢(xún)功能。項(xiàng)目首先顯示歡迎使用銀行系統(tǒng),要求用戶(hù)進(jìn)行開(kāi)戶(hù)或登錄,如圖3-1所示:項(xiàng)目描述用戶(hù)首先選擇開(kāi)戶(hù)功能,系統(tǒng)顯示選擇開(kāi)戶(hù)類(lèi)型:借記卡賬戶(hù)和信用卡賬戶(hù)供用戶(hù)選擇將要開(kāi)戶(hù)的賬戶(hù)類(lèi)型,也可選擇退出系統(tǒng),系統(tǒng)則自動(dòng)退出,如圖3-2所示:如果選擇借記卡賬戶(hù)開(kāi)戶(hù)菜單,顯示借記卡賬戶(hù)用戶(hù)輸入開(kāi)戶(hù)信息提示,用戶(hù)正確輸入相關(guān)信息后,并顯示用戶(hù)開(kāi)戶(hù)成功及相關(guān)開(kāi)戶(hù)信息,如圖3-3所示:項(xiàng)目描述如果選擇信用卡賬戶(hù)開(kāi)戶(hù)菜單,顯示信用卡賬戶(hù)用戶(hù)輸入開(kāi)戶(hù)信息提示,用戶(hù)正確輸入相關(guān)信息后,顯示用戶(hù)開(kāi)戶(hù)成功及相關(guān)開(kāi)戶(hù)信息,如圖3-4所示:如果繼續(xù)選擇主菜單2,則進(jìn)入登錄功能,要求輸入登錄的用戶(hù)名和密碼,用戶(hù)輸入正確的用戶(hù)名和密碼后,進(jìn)入銀行卡存未、取款和查詢(xún)余額菜單。如圖3-5所示:項(xiàng)目描述當(dāng)用戶(hù)輸入1時(shí),則進(jìn)入存款功能,此時(shí)要求用戶(hù)輸入存款金額,用戶(hù)輸入正確存款金額后,系統(tǒng)提示存款成功,并回到主菜單。如圖3-6所示:當(dāng)用戶(hù)輸入2時(shí),則進(jìn)入取款功能,此時(shí)要求用戶(hù)輸入取款金額,用戶(hù)輸入正確取款金額后,系統(tǒng)提示取款成功,并回到主菜單。如圖3-7所示:項(xiàng)目描述當(dāng)用戶(hù)輸入3時(shí),則進(jìn)入查詢(xún)余額功能,則能看到已經(jīng)改變后的賬戶(hù)金額并回到主菜單。如圖3-8所示:如果輸入1或2以外的鍵,則系統(tǒng)正常退出。如圖3-9所示:項(xiàng)目描述任務(wù)1:銀行業(yè)務(wù)類(lèi)定義任務(wù)2:銀行卡賬戶(hù)類(lèi)定義任務(wù)3:銀行卡賬戶(hù)開(kāi)戶(hù)實(shí)現(xiàn)工作任務(wù)任務(wù)描述

定義銀行業(yè)務(wù)類(lèi)的成員變量和方法,實(shí)現(xiàn)主菜單顯示,當(dāng)用戶(hù)選擇菜單后,執(zhí)行菜單對(duì)應(yīng)代碼塊,如果輸入菜單不存在,則退出系統(tǒng)。任務(wù)1銀行業(yè)務(wù)類(lèi)定義1.類(lèi)和對(duì)象

面向?qū)ο蟪绦蛟O(shè)計(jì)(ObjectOrientedProgramming)是一種軟件開(kāi)發(fā)方法,是一種對(duì)現(xiàn)實(shí)世界理解和抽象的方法,是計(jì)算機(jī)編程技術(shù)發(fā)展到一定階段后的產(chǎn)物。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,包括了類(lèi)、對(duì)象、繼承、封裝、多態(tài)性等概念。

現(xiàn)實(shí)世界中的每一個(gè)東西(萬(wàn)事萬(wàn)物),既具有獨(dú)特的特征(數(shù)據(jù)),又具有獨(dú)特的行為(方法),那么面向?qū)ο笳Z(yǔ)言就必須把事物的特征和行為定義在一起,這個(gè)概念和語(yǔ)法就是類(lèi)。知識(shí)引入任務(wù)1銀行業(yè)務(wù)類(lèi)定義1.類(lèi)和對(duì)象知識(shí)引入任務(wù)1銀行業(yè)務(wù)類(lèi)定義類(lèi)的定義【例3-1】定義一個(gè)Person類(lèi),包含相應(yīng)的成員變量和成員方法。ClassPerson{//成員變量(屬性/字段)publicstringname;//姓名publicstringsex;//性別

publicintage;//年齡

publicvoidsleep()//成員方法{Console.WriteLine("是人都要睡覺(jué)!");}publicvoidshow()//成員方法{Console.WriteLine("姓名:"+name);Console.WriteLine("性別:"+sex);Console.WriteLine("年齡:"+age);}}1.類(lèi)和對(duì)象知識(shí)引入任務(wù)1銀行業(yè)務(wù)類(lèi)定義對(duì)象的定義類(lèi)是一種抽象,而對(duì)象則是實(shí)例,是具體的。把程序中要操作的具有相同數(shù)據(jù)和方法的“對(duì)象”歸納起來(lái),定義成類(lèi)。但是,如果想要執(zhí)行類(lèi)里面的方法(如學(xué)生類(lèi)的sleep方法),訪(fǎng)問(wèn)里面的變量,就會(huì)發(fā)現(xiàn)執(zhí)行不了,必須要用類(lèi)來(lái)定義一個(gè)對(duì)象(專(zhuān)業(yè)術(shù)語(yǔ)叫做實(shí)例化對(duì)象),才能執(zhí)行類(lèi)里面的方法,才能給里面的變量賦值。例:Personp1;//聲明對(duì)象p1=newPerson();//實(shí)例化對(duì)象1.類(lèi)和對(duì)象知識(shí)引入任務(wù)1銀行業(yè)務(wù)類(lèi)定義成員方法是定義在類(lèi)內(nèi)部的方法,反映這個(gè)類(lèi)具有的行為。在上例中,Person類(lèi)就有一個(gè)成員方法。在上例Person類(lèi)中,需要注意四個(gè)要素:public——訪(fǎng)問(wèn)修飾符:void——返回值類(lèi)型,該方法沒(méi)有返回值;Study——方法名;一對(duì)圓括號(hào)里面的參數(shù)列表。一共由四個(gè)部分組成,語(yǔ)法格式如下:[訪(fǎng)問(wèn)修飾符]返回類(lèi)型<方法名>(<參數(shù)列表>){//方法體}1.類(lèi)和對(duì)象知識(shí)引入任務(wù)1銀行業(yè)務(wù)類(lèi)定義【例3-2】演示如何實(shí)例化一個(gè)Person類(lèi)的對(duì)象和調(diào)用類(lèi)中的方法。classProgram{staticvoidMain(string[]args){//實(shí)例化對(duì)象,調(diào)用方法Personp1;//聲明對(duì)象p1=newPerson();//實(shí)例化對(duì)象

作用:只有對(duì)象才能訪(fǎng)問(wèn)類(lèi)的成員="劉邦";//設(shè)置對(duì)象屬性(name)的值p1.sex="男";p1.age=32;Console.WriteLine("********調(diào)用對(duì)象p1的成員方法************");p1.show();p1.sleep();//調(diào)用對(duì)象p1的成員方法sleep()Personp2=newPerson();//聲明并實(shí)例化對(duì)象="毛毛";p2.sex="女";p2.age=18;Console.WriteLine("********調(diào)用對(duì)象p2的成員方法************");p2.show();}}任務(wù)1

銀行業(yè)務(wù)類(lèi)定義任務(wù)實(shí)現(xiàn)【例3-3】classBank//銀行業(yè)務(wù)類(lèi){protectedstaticList<Account>list=newList<Account>();//使用泛型集合存放賬戶(hù)privatestaticlongi=11000000;//指借記卡卡號(hào),每增加一個(gè)用戶(hù),i自增1privatestaticlongj=81000000;//指信用卡卡號(hào),每增加一個(gè)用戶(hù),j自增1//開(kāi)戶(hù)成員方法publicvoidopenAccount(){Console.WriteLine("這是實(shí)現(xiàn)銀行卡賬戶(hù)開(kāi)戶(hù)的方法...");}//登錄成員方法publicvoidlogin(){Console.WriteLine("這是實(shí)現(xiàn)用戶(hù)登錄的方法...");

}//存款成員方法publicvoidsaveMoney(Accountat){ Console.WriteLine("這是實(shí)現(xiàn)用戶(hù)存款的方法...");}//取款成員方法publicvoidtakeMoney(Accountat){Console.WriteLine("這是實(shí)現(xiàn)用戶(hù)取款的方法...");}//查詢(xún)余額成員方法publicvoidloopMoney(Accountat){Console.WriteLine("這是實(shí)現(xiàn)用戶(hù)查詢(xún)余額的方法...");}}任務(wù)1

銀行業(yè)務(wù)類(lèi)定義任務(wù)實(shí)現(xiàn)switch(choice){case1:bk.openAccount();break;case2:bk.login();break;}}while(choice!=0);}}//實(shí)現(xiàn)系統(tǒng)主菜單類(lèi)classProgram{staticvoidMain(string[]args){Bankbk=newBank();//實(shí)例化對(duì)象intchoice;do{Console.WriteLine("****************歡迎使用銀行系統(tǒng)****************");Console.WriteLine("請(qǐng)選擇功能(按其它鍵退出):");Console.WriteLine("1.開(kāi)戶(hù)");Console.WriteLine("2.登錄");choice=Convert.ToInt32(Console.ReadLine());if(choice!=1&&choice!=2){Console.WriteLine("感謝您的使用,歡迎下次光臨!");break;

}類(lèi)是C#一種自定義數(shù)據(jù)類(lèi)型,反映了一組相似事物(對(duì)象)共同具有的數(shù)據(jù)和行為。對(duì)象是具體的實(shí)物,是類(lèi)具體的一個(gè)個(gè)體。在一個(gè)類(lèi)中,成員變量表示類(lèi)的屬性,成員方法反映類(lèi)的行為。任務(wù)1

銀行業(yè)務(wù)類(lèi)定義任務(wù)小結(jié)任務(wù)描述定義銀行卡基類(lèi)(Account類(lèi)),并分別定義兩個(gè)子類(lèi):借記卡賬戶(hù)子類(lèi)(DebitAcc)和信用卡賬戶(hù)子類(lèi)(CreditAccount)。任務(wù)2

銀行卡賬戶(hù)類(lèi)定義1.構(gòu)造方法構(gòu)造方法就是一種特殊的方法,它主要用于為對(duì)象分配存儲(chǔ)空間,完成對(duì)象初始化工作,必須在實(shí)例化對(duì)象的時(shí)候調(diào)用。定義構(gòu)造方法的語(yǔ)法如下:Public類(lèi)名(參數(shù)列表)//構(gòu)造方法名與類(lèi)名同名,沒(méi)有返回值類(lèi)型{//構(gòu)造方法體}任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入1.構(gòu)造方法任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-4】結(jié)合上例3-1,給Person類(lèi)加上無(wú)參構(gòu)造方法和帶參構(gòu)造方法。ClassPerson{//成員變量(屬性/字段)publicstringname;//姓名publicstringsex;//性別

publicintage;//年齡

//無(wú)參構(gòu)造方法publicPerson(){}//帶參構(gòu)造方法publicPerson(stringname,stringsex,intage){//this表示當(dāng)前類(lèi)的對(duì)象this.用于訪(fǎng)問(wèn)當(dāng)前類(lèi)的成員=name;//訪(fǎng)問(wèn)的是成員。name訪(fǎng)問(wèn)的是參數(shù)this.sex=sex;this.age=age;}publicvoidsleep()//成員方法{Console.WriteLine("是人都要睡覺(jué)!");}publicvoidshow()//成員方法{Console.WriteLine("姓名:"+name);Console.WriteLine("性別:"+sex);Console.WriteLine("年齡:"+age);}}1.構(gòu)造方法任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-5】分別調(diào)用無(wú)參構(gòu)造方法和帶參構(gòu)造方法實(shí)例化對(duì)象。classProgram{staticvoidMain(string[]args){Personp1=newPerson();//調(diào)用無(wú)參構(gòu)造方法實(shí)例化p1對(duì)象Personp2=newPerson("張三豐","男",21);//調(diào)用帶參構(gòu)造方法實(shí)例化p2對(duì)象p2.show();}}1.構(gòu)造方法任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入構(gòu)造方法名與類(lèi)同名不能有返回值,且不能寫(xiě)void構(gòu)造方法的作用如下:

·構(gòu)造方法可以更簡(jiǎn)捷地為對(duì)象賦初值。實(shí)例化對(duì)象的同時(shí),就可以給該對(duì)象的所有成員變量賦初值

·對(duì)象的每一個(gè)成員變量要存儲(chǔ)數(shù)據(jù),就要在內(nèi)存中開(kāi)辟空間。類(lèi)的構(gòu)造方法最大的作用,就是為對(duì)象開(kāi)辟內(nèi)存空間,以存儲(chǔ)數(shù)據(jù)。這也是為什么實(shí)例化對(duì)象的時(shí)候,一定要調(diào)用構(gòu)造方法的原因

·構(gòu)造方法只有實(shí)例化對(duì)象的時(shí)候才能調(diào)用,不能像其他方法那樣通過(guò)方法名調(diào)用

在前面學(xué)習(xí)到,定義一個(gè)變量就會(huì)在內(nèi)存中開(kāi)辟一個(gè)空間存儲(chǔ)數(shù)據(jù)。實(shí)例化一個(gè)對(duì)象后,對(duì)象的成員變量也要開(kāi)辟內(nèi)存空間,這個(gè)重要的任務(wù)就是構(gòu)造方法完成的。2.屬性任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入在C#中有兩個(gè)常用的訪(fǎng)問(wèn)修飾符:private和public。程序中一般用public修飾符來(lái)定義成員變量和成員方法,這樣就可以在別的類(lèi)中來(lái)訪(fǎng)問(wèn)它,但這其實(shí)破壞了類(lèi)的封裝性,因任何類(lèi)都可以訪(fǎng)問(wèn)public成員。定義屬性的語(yǔ)法如下:訪(fǎng)問(wèn)修飾符

數(shù)據(jù)類(lèi)型

屬性名{get{

返回私有成員變量;}set{

設(shè)置私有成員變量;}}2.屬性任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-6】定義屬性和使用屬性訪(fǎng)問(wèn)成員變量?!ざx屬性classPerson{privatestringname;privateintage;publicPerson(){}publicPerson(stringname,intage){this.Name=name;this.Age=age;}publicstringName{get{return;}set{=value;//value是隱式的變量}}

publicintAge{get{returnthis.age;}set{this.age=value;//value是隱式的變量}}publicvoidShow(){Console.WriteLine("姓名:"+Name);Console.WriteLine("年齡:"+Age);}}2.屬性任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-6】classProgram{staticvoidMain(string[]args){Personp1=newPerson("張三",19);p1.Show();Personp2=newPerson();p2.Name="毛毛";//對(duì)Name屬性賦值,即是對(duì)私有成員name賦值p2.Age=17;p2.Show();}}

3.繼承和多態(tài)任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入繼承在面向?qū)ο蠹夹g(shù)中,繼承是提高軟件開(kāi)發(fā)效率的重要因素之一,指特殊類(lèi)的對(duì)象擁有其一般類(lèi)的全部屬性與方法,稱(chēng)作特殊類(lèi)對(duì)一般類(lèi)的繼承。繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)的主要特征之一,它可以讓用戶(hù)重用代碼,也可以節(jié)省程序設(shè)計(jì)的時(shí)間。繼承就是在類(lèi)之間建立一種從屬關(guān)系,使得新定義的子類(lèi)(也叫派生類(lèi))的實(shí)例具有父類(lèi)(也叫基類(lèi))的特征和能力。任何類(lèi)都可以繼承其他的類(lèi),這也就是說(shuō),這個(gè)類(lèi)擁有它繼承的類(lèi)的所有成員。在OOP中,被繼承的類(lèi)稱(chēng)為父類(lèi)或者基類(lèi),繼承了其他類(lèi)的類(lèi)叫子類(lèi)或者派生類(lèi)。繼承的語(yǔ)法格式為:Class類(lèi)名:父類(lèi)類(lèi)名{

類(lèi)體}3.繼承和多態(tài)任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-7】classPerson//定義Person類(lèi),父類(lèi){publicstringname;publicintage;publicvoidSay(){Console.WriteLine("你好,我是{0},我今年{1}歲",name,age);}}classMan{publicvoidEat(){Console.WriteLine("我正在吃大閘蟹!");}}3.繼承和多態(tài)任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-7】//Student類(lèi)繼承了Person類(lèi),它也具備了Person類(lèi)的所有成員變量和方法classStudent:Person{//也可以在子類(lèi)中添加新的成員變量和成員方法publicstringsex;publicvoidPlay(){Console.WriteLine("我是{0}生我怕誰(shuí),我在玩天天酷跑.....",sex);}}classProgram{staticvoidMain(string[]args){Studentst=newStudent();="劉備";st.age=18;st.Say();st.sex="男";st.Play();}}3.繼承和多態(tài)任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入多態(tài)多態(tài)性是指在一般類(lèi)中定義的屬性或行為,被特殊類(lèi)繼承之后,可以具有不同數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為。這使得同一個(gè)屬性或行為在一般及期限各個(gè)特殊類(lèi)中具有不同的語(yǔ)義。當(dāng)子類(lèi)繼承父類(lèi)后,如何讓子類(lèi)和父類(lèi)的方法執(zhí)行起來(lái)不一樣,每個(gè)子類(lèi)都有自己的方式執(zhí)行該“行動(dòng)”?這就是多態(tài)的一個(gè)重要特性——重寫(xiě)。子類(lèi)重寫(xiě)父類(lèi)的方法,重寫(xiě)需要用到兩個(gè)關(guān)鍵字:vartual和override。3.繼承和多態(tài)任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-8】classAnimal//動(dòng)物類(lèi){publicstringname;publicvirtualvoidsay()//定義為虛方法,子類(lèi)可以對(duì)父類(lèi)方法重寫(xiě){Console.WriteLine("Animalhou......");}publicvoidrun(){Console.WriteLine("Animalrun......");}}classCat:Animal//貓類(lèi){publicoverridevoidsay()//對(duì)父類(lèi)方法進(jìn)行重寫(xiě){Console.WriteLine(“Tom:”+"喵喵喵......");}}classMouse:Animal//老鼠類(lèi){publicoverridevoidsay(){Console.WriteLine(“Jerry:”+"吱吱吱......");}}classDog:Animal//狗類(lèi){publicoverridevoidsay(){Console.WriteLine(“旺財(cái):”+"汪汪汪......");}}3.繼承和多態(tài)任務(wù)2銀行卡賬戶(hù)類(lèi)定義知識(shí)引入【例3-8】classProgram{staticvoidMain(string[]args){////父類(lèi)的句柄可以指向子類(lèi)的對(duì)象,反之則不行//Animalan1=newCat();//an1.say();Catct=newCat();Mousemou=newMouse();Dogd=newDog();PolymorphicTest(ct);PolymorphicTest(mou);PolymorphicTest(d);}staticvoidPolymorphicTest(Animalan){an.say();//多態(tài)性}}【例3-9】實(shí)現(xiàn)銀行卡賬戶(hù)類(lèi)定義,程序代碼如下:classAccount//賬戶(hù)類(lèi),父類(lèi),以下是共有屬性和方法{publiclongaid;//賬戶(hù)編號(hào)publicstringaname;//儲(chǔ)戶(hù)姓名publicstringpersonId;//身份證號(hào)publicstringpassword;//密碼publicdoublebalance;//賬戶(hù)余額publicAccount(){}publicAccount(longaid,stringaname,stringpersonId,stringpassword,doublebalance){this.aid=aid;this.aname=aname;this.personId=personId;this.password=password;this.balance=balance;}

}任務(wù)2銀行卡賬戶(hù)類(lèi)定義任務(wù)實(shí)現(xiàn)classDebitAcc:Account//借記卡子類(lèi){publicDebitAcc(longaid,stringaname,stringpersonId,stringpassword,doublebalance):base(aid,aname,personId,password,balance){}}classCreditAccount:Account//信用卡子類(lèi){privatedoubleoverdraft;//透支金額publicCreditAccount(longaid,stringaname,stringpersonId,stringpassword,doublebalance,doubleoverdraft):base(aid,aname,personId,pas

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論