面向對象程序設計-第2章_第1頁
面向對象程序設計-第2章_第2頁
面向對象程序設計-第2章_第3頁
面向對象程序設計-第2章_第4頁
面向對象程序設計-第2章_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

面向對象程序設計(C#)第二章C#語法基礎2/12目錄任務2.1利用C#實現(xiàn)系統(tǒng)歡迎菜單界面任務2.2編寫C#分支結構程序任務2.3編寫C#循環(huán)結構程序3/12任務2.1利用C#實現(xiàn)系統(tǒng)歡迎菜單界面21知識目標能力目標C#程序結構輸出語句搭建開發(fā)環(huán)境完成菜單制作4/122.1.1情境描述Jack承接了Jam運動商城的信息化系統(tǒng)建設,作為信息化系統(tǒng)建設而言,采取具體的計算機語言對管理系統(tǒng)進行實現(xiàn)是不可逾越的環(huán)節(jié)。Jack決定采取C#語言完成系統(tǒng),在他成功搭建了C#開發(fā)環(huán)境之后,他決定采取C#控制臺項目來編寫運動商城歡迎菜單界面,為了實現(xiàn)C#控制臺菜單界面,他需要完成以下任務:1)設計運動商城進入界面2)利用搭建的環(huán)境新建C#項目3)認識C#程序基本結構4)編寫C#語句5)編譯及運行C#程序第1章目錄5/12提到C#語言是伴隨微軟.NET平臺問世,是一個全新的開發(fā)體系,任何一個初學者,學習C#語言就的搭建開發(fā)平臺及開發(fā)環(huán)境,采用安裝VisualStudio2010開發(fā)工具,能夠成功實現(xiàn).NET4.0平臺搭建及C#程序的編寫、編譯工作。利用VisualStudio2010工具,可以創(chuàng)建C#控制臺項目、窗體項目、Web項目等不同應用場景。利用C#控制臺程序進行運動商城歡迎界面,首先需要設計運動商城歡迎界面,設計的界面初步可以顯示歡迎界面,并提示系統(tǒng)的進入操作及退出操作等功能。具體設計界面如下圖2-1所示。而作為菜單界面,主要功能就是利用C#的輸出方法將菜單顯示到顯示器中,因此歡迎菜單界面的主要知識點僅僅是輸出方法。C#中,輸出方法主要通過控制臺類Console類的Write及WriteLine方法實現(xiàn)界面顯示。作為初學者,開始需要掌握在什么地方編寫相應的程序代碼。第1章目錄2.1.2問題分析1)安裝VisualStudio2010開發(fā)工具。2)在VisualStudio2010下創(chuàng)建C#控制臺項目

打開VisualStudio2010,選擇“文件菜單”->新建項目,進入新建項目頁面,選擇VisualC#下的控制臺應用程序,項目名稱修改為EPOS(若有需要,則可選擇更改存儲位置),點擊“確定”按鈕。如圖2-2所示:第1章目錄2.1.3解決方案7/123)新建CMainMenu類,用于實現(xiàn)主要的系統(tǒng)菜單界面及菜單操作。

選中右邊的解決方案資源管理器中的EPOS項目,右鍵->添加->類,進入新建類的頁面,名稱修改為“CMainMenu.cs”,點擊確定按鈕完成新建類操作。如圖2-3所示:第1章目錄2.1.3解決方案8/124)添加主函數(shù),并輸出主菜單

staticvoidMain(string[]args){//輸出語句,在屏幕中輸出主菜單

Console.WriteLine(“**************運動商場EPOS系統(tǒng)********************");Console.WriteLine("1:登錄系統(tǒng)");Console.WriteLine("2:退出系統(tǒng)");Console.WriteLine(“**************************************************")Console.WriteLine("請選擇,輸入數(shù)字:");}

第1章目錄2.1.3解決方案9/125)運行項目第1章目錄2.1.3解決方案10/122.1.4知識總結1、C#簡介C#(讀作“CSharp”)是微軟公司開發(fā)的一種基于.NET應用的語言,是一種面向對象的編程語言(OOP)。它的功能強大、編程靈活,和其他所有的編程一樣,它也可以用于創(chuàng)建各種應用程序。C#從C和C++派生而來,但卻是完全重新開發(fā)的。微軟公司借用了C和C++中一些已有的概念,并加入了新特性。這些特性使語言更容易使用,其中的許多特性與Java極其類似。此外,它還結合了Delphi和VisualBasic的很多優(yōu)秀特性。(1)簡單。C#消除了諸如Java和C++等語言中復雜的東西和缺陷,其中包括宏、模板、多重繼承和可視化基類。(2)面向對象。C#支持面向對象的3種編程原則:封裝、繼承和多態(tài)性。C#去掉了全局函數(shù)、全局變量和全局常數(shù),而是將它們都封裝在一個類中;C#去掉了多重繼承,利用多個接口隱式地實現(xiàn)多重繼承。(3)強大靈活。C#可用于創(chuàng)建字處理程序、圖形、電子表格,甚至其他語言的編譯器。(4)類型安全。C#去掉了指針,從根本上保證了程序的穩(wěn)定性和類型安全。第1章目錄11/122.1.4知識總結2、C#程序結構在前面的任務中,創(chuàng)建一個控制臺應用程序后,代碼編輯窗口中出現(xiàn)的代碼,是一個控制臺應用程序的基本框架,它是VisualStudio.NET自動生成的。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){//}}}第1章目錄12/122.1.4知識總結(1)關鍵字在C#代碼中常常使用關鍵字,也叫保留字,是對C#有特定意義的字符串。關鍵字在VisualStudio.NET環(huán)境的代碼視圖中默認以藍色顯示。如代碼中的using、namespace、class、static、void等,均為C#的關鍵字。(2)命令空間命名空間提供了一種組織相關類和其他類型的方式,與文件和組件不同,命名空間是一種邏輯組合。命名空間有兩種:一種是系統(tǒng)命名空間,一種是用戶自定義命名空間。系統(tǒng)命名空間是在VisualStudio.NET平臺提供的系統(tǒng)預定義的基本數(shù)據(jù)類型和類(包括方法成員)類型資源,以供用戶進行程序設計時使用。系統(tǒng)命名空間使用using關鍵字導入,上述代碼中的System就是VisualStudio.NET中最基本的命名空間。用戶自定義命令空間使用namespace關鍵字聲明,上述程序中的“ConsoleApplication1”就是用戶自定義命名空間。第1章目錄13/122.1.4知識總結(3)類與C++核VB不同,C#是完全面向對象的編程語言,這意味著C#中的所有函數(shù)都必須封裝在一個類中。class語句聲明一個新的C#類。上述程序中的program類包含一個Main()函數(shù)。(4)Main方法C#程序必須包含一個Main方法,用于控制程序的開始和結束。用戶可以在Main方法中創(chuàng)建對象和執(zhí)行其他方法。Main方法是一個靜態(tài)方法,可以具有void或int返回類型。聲明Main方法時既可以不使用參數(shù),也可以使用參數(shù),后一種形式使程序可以讀取命令行參數(shù)。(5)注釋注釋常被用來提供關于程序清單的描述性信息,以使程序具有可讀性。注釋語句不參與程序的執(zhí)行。第1章目錄14/122.1.4知識總結3、.NET與C#1)什么是.NETMicrosoft.NET是微軟推出的開發(fā)平臺,是一種面向網(wǎng)絡并能支持各種用戶終端的集成開發(fā)環(huán)境。它的想法是:利用.NET將計算的重點由一個單獨的設備和Web站點通過Internet簡單相連的世界轉變成一個由設備、服務程序和計算機協(xié)同工作的世界,以便為用戶提供更加豐富和完善的解決方案。Microsoft.NET方案由以下四個關鍵部分組成:.NET構件塊服務,即對某些特定服務程序的訪問,例如用于文件存儲的服務、日歷管理或Passport.NET。.NET設備軟件,是運行于新型Internet設備之上的軟件。.NET用戶體驗,包括如自然界面、信息代表和智能標簽這樣的功能,這些技術可以自動建立超級鏈接,這些鏈接指向與用戶創(chuàng)建的文檔中的單詞或短語相關的信息。.NET基礎結構,由.NET框架、MicrosoftVisualStudio.NET、.NET企業(yè)服務器和MicrosoftWindows.NET組成。第1章目錄15/122.1.4知識總結2).NET框架.NET框架實際上是一個運行在Windows系列操作系統(tǒng)上的一個系統(tǒng)應用程序,它采用一種全新的網(wǎng)絡計算機模式,通過標準的Internet協(xié)議如XML和SOAP等,解決了異質平臺上的分布式松耦合計算問題。.NET框架體系結構如圖2-1所示,它由以下四個主要部分組成:公共語言運行時(CommonLanguageRuntime,簡稱CLR);統(tǒng)一類庫(BaseClassLibrary);數(shù)據(jù)庫訪問組件(ADO.NET和XML);活動服務器頁面(ASP.NET)。第1章目錄16/122.1.5應用實踐通過前面的學習,我們知道了C#的程序結構的組成元素,了解了C#開發(fā)環(huán)境的一些知識,那么我們就利用所知道的知識開發(fā)一個簡單的C#程序來鞏固所學知識。創(chuàng)建一個圖書管理系統(tǒng)登陸界面。第1章目錄17/12任務2.2編寫C#分支結構程序21知識目標能力目標If語句利用if語句控制菜單轉向18/122.2.1情境描述任務2.1僅僅完成了運動商城系統(tǒng)歡迎界面顯示功能,未能完成運動商城歡迎界面的界面功能選擇功能及相對應的界面調整功能,為了歡迎菜單能夠正常運行,為此他需要完成以下任務:1)完善歡迎菜單界面中的操作功能2)實現(xiàn)登錄菜單設計與實現(xiàn)3)實現(xiàn)歡迎界面轉向到登錄界面;4)編譯及調試,保證系統(tǒng)正常運行。第1章目錄19/122.2.2問題分析完善歡迎菜單的操作,也就是實現(xiàn)人機交互,控制臺的人機交互功能需要通過鍵盤等輸入設備向計算機輸入數(shù)據(jù),計算機通過外界輸入的數(shù)據(jù),決定程序的執(zhí)行過程。在C#中可以通過Console.ReadLine或者Console.ReadKey實現(xiàn)輸入。對于歡迎菜單的操作,外界輸入的數(shù)據(jù)不同,執(zhí)行的操作也就不同,故需要使用分支語句來實現(xiàn)選擇。登錄菜單屬于系統(tǒng)的另外一個界面,就其登錄界面而言,需要用戶輸入登錄名及登錄密碼。故在界面設計時,可以采取圖2-6的模式進行設計,從技術上講,登錄菜單充分應用了輸入、輸出方法及分支語句。在完成了2個界面的設計及操作之后,需要實現(xiàn)2個界面的轉向操作,C#語言可以采取在同一個類中調用函數(shù)的模式實現(xiàn)界面的跳轉。第1章目錄20/122.2.3解決方案1、重構形成FirstMenuDisplay方法打開任務2.1的案例,選中Main函數(shù)中的代碼,選擇重構菜單->提取方法(或者使用快捷方式Ctrl+R,Ctrl+M)進入方法重構窗體,修改方法名稱為:FirstMenuDisplay。如下圖2-7所示:第1章目錄21/122.2.3解決方案第1章目錄22/122.2.3解決方案2、編制登錄界面在登錄菜單中,除了計算機顯示的提示信息以外,還需要用戶從鍵盤輸入登錄的用戶名及密碼。從鍵盤輸入數(shù)據(jù)應采用Console.ReadLine();或者Console.Read();具體代碼如下:第1章目錄23/122.2.3解決方案2、編制登錄界面第1章目錄24/122.2.3解決方案4、在FirstMenuDisplay方法中添加選擇控制

classCMainMenu{//略

privatestaticvoidFirstMenuDisplay(){stringctrl="";//控制變量,保存輸入的選擇項

Console.WriteLine(***************運動商場EPOS系統(tǒng)********************");Console.WriteLine("1:登錄系統(tǒng)");Console.WriteLine("2:退出系統(tǒng)");Console.WriteLine(****************************************************")Console.Write("請選擇,輸入數(shù)字:");

ctrl=Console.ReadLine();//接收來自鍵盤的輸入選項if(ctrl=="1")//判定輸入項,轉入不同的菜單LoginDisplay();//調用用戶登錄菜單elseExitDisplay();//調用退出系統(tǒng)菜單}第1章目錄25/122.2.3解決方案5、調試及運行

第1章目錄26/122.2.4知識總結1、數(shù)據(jù)類型在程序設計中,難免要對數(shù)據(jù)進行處理,而數(shù)據(jù)又有不同的種類,如整數(shù)、小數(shù)、單個字符、多個字符、真假等等,這些種類不同的數(shù)據(jù)就叫數(shù)據(jù)類型。C#支持兩種數(shù)據(jù)類型:值類型和引用類型。值類型變量直接含有它們的數(shù)據(jù),而引用類型的變量存儲對數(shù)據(jù)的引用。這里重點介紹值類型,引用類型將在后面的任務中引出。C#的值類型可以分為三種:簡單類型、結構類型和枚舉類型。第1章目錄27/122.2.4知識總結2)結構類型上面介紹的簡單類型都只包含一種類型信息,可以進行一些常用的數(shù)據(jù)運算和文字處理。但在實際的處理對象中,有許多信息是由多個不同類型的數(shù)據(jù)組合在一起進行描述的,而且這些不同類型的數(shù)據(jù)又互相聯(lián)系組成了一個有機的整體,此時就要用到結構類型。例如,某單位要開發(fā)一個人事管理系統(tǒng),一個人事記錄包括職工姓名、年齡、聯(lián)系電話、家庭住址等項,這些數(shù)據(jù)項都是與某一個職工相聯(lián)系的。此時,就可以定義一個職工worker結構類型,在這個結構類型中包括職工姓名、年齡、聯(lián)系電話、家庭住址,這樣就可以用一個結構類型的變量來存放某個職工的所有相關信息。第1章目錄28/122.2.4知識總結2、變量與常量程序在處理數(shù)據(jù)時,必須將數(shù)據(jù)保存在計算機的內存中。保存在內存中的數(shù)據(jù)從可變性看,分為常量和變量兩種。1)標識符標識符是用戶定義的名字,可以用作變量名、函數(shù)名以及類型名等。C#語言的標識符名稱定義的要求與C++語言是基本一致的,必須遵守以下規(guī)則:(1)所有的標識符只能由字母、數(shù)字和下劃線這三類字符組成,而且第一個字符必須為字母或下劃線。(2)標識符中不能包含空格、標點符號、運算符等其他符號。(3)標識符不能與C#關鍵字名相同。(4)標識符區(qū)分大小寫。(5)標識符不能與C#中的類庫名相同。第1章目錄29/122.2.4知識總結2)變量變量時計算機內存中被命名的數(shù)據(jù)存儲單元,其中存儲的值是可以改變的。在程序中通過變量名來引用其中存儲的信息。變量的類型決定了存儲在變量中的數(shù)值的類型。在程序中通過變量取值,實際上就是通過變量名找到相應的內存地址,再從中讀取數(shù)據(jù)或存入數(shù)據(jù)。(1)變量的命名通常,變量的命名只要符合標識符的命名規(guī)則即可,但在實際應用中,為了保證程序具有良好的風格,變量名最好使用具有實際意義的英文單詞進行組合,提高程序的可讀性。(2)聲明變量在C#中,變量必須先聲明后使用。事實上,在C#中所有的名稱都必須先聲明后使用,包括常量名、方法名、類名、對象名等標識符。第1章目錄30/122.2.4知識總結2.運算符與表達式表達式是用于計算的運算符和操作數(shù)的組合,它用于提供特定的信息。一個表達式中通常包括一個或多個運算符以及至少一個操作數(shù)。C#支持下列表達式:算術表達式、邏輯表達式、關系表達式、賦值表達式、條件表達式等。運算符是代表一個操作的符號,而操作數(shù)是參與運算的對象。比如,在表達式“a+b”中,a和b是操作數(shù),“+”是運算符。第1章目錄31/122.2.4知識總結3、分支控制語句一個C#的程序中包括許多的語句。在撰寫C#應用程序時,可以使用“{”與“}”符號將這些語句分組。C#中用來控制分支結構的語句有兩種:if語句和switch語句。1)if語句if語句的語法格式一般為:if(表達式)

語句1else

語句2

第1章目錄32/122.2.4知識總結2)switch語句當分支情況很多時,雖然if語句的多層嵌套可以實現(xiàn),但會使程序變得冗長且不直觀。針對這種情況,C#提供了switch語句,用于處理多分支的選擇問題。其語法格式為:switch(控制表達式){case常量表達式1:

語句塊1case常量表達式2:

語句塊2

……case常量表達式n:

語句塊ndefault:

語句塊n+1}

第1章目錄33/122.2.5應用實踐在前面學習的基礎上,通過本實踐,充分理解并運用分支結構語句,創(chuàng)建C#應用程序。使用分支控制語句,實現(xiàn)對成績等級的評定第1章目錄34/12任務2.3編寫C#循環(huán)結構程序21知識目標能力目標While循環(huán)For循環(huán)Dowhile循環(huán)利用循環(huán)完善菜單35/12內容提要4IPO組成1235分支結構循環(huán)結構符號繪制循環(huán)結構流程圖36/122.3.1情境描述通過任務2.1、2.2及2.2擴展聯(lián)系,Jack成功實現(xiàn)了多個界面菜單的界面及菜單操作,但他卻發(fā)現(xiàn),菜單的交互及菜單的轉向操作僅僅能夠操作一次,未能達到菜單的作用,為了實現(xiàn)操作界面的重復展示,他需要完成以下任務:1)認識循環(huán)機制2)完善系統(tǒng)菜單第1章目錄37/122.3.2問題分析Jack的菜單之所有只能執(zhí)行一次,原因在于他在處理菜單操作時沒有能夠執(zhí)行重復操作的語句,所以他需要使用循環(huán)結構的語句來實現(xiàn)菜單操作。以第一個菜單操作為例,只有當用戶輸入2的情況下,系統(tǒng)才結束運行,該循環(huán)屬于循環(huán)次數(shù)未知,故可以采用dowhile或者while循環(huán)來修改當前菜單。第1章目錄38/122.3.3解決方案1、修改FirstMenuDisplay方法

打開完成任務2.2應用實踐練習之后的項目,在工作區(qū)中打開CMenu.cs類文件,在FristMenuDisplay中添加循環(huán)控制操作。privatestaticvoidFirstMenuDisplay(){

stringctrl="";

do{

Console.Clear();//輸出語句,在屏幕中輸出主菜單Console.WriteLine(************運動商場EPOS系統(tǒng)*******************");Console.WriteLine("1:登錄系統(tǒng)");Console.WriteLine("2:退出系統(tǒng)");Console.WriteLine(************************************************")Console.Write("請選擇,輸入數(shù)字:");ctrl=Console.ReadLine();if(ctrl=="1")LoginDisplay();

}while(ctrl!="2");}第1章目錄39/122.3.3解決方案2、修改MainDisplay菜單將光標移動到MainDisplay方法中,在現(xiàn)有的代碼基礎上,添加循環(huán)語句,主菜單操作的模式與第一個菜單操作方式相同publicstaticvoidMainDisplay(){stringctrl;while(true){Console.Clear();Console.WriteLine("***************運動商場EPOS系統(tǒng)主界面***********");Console.WriteLine("*1:基礎信維護*");Console.WriteLine("*2:收銀結算*");Console.WriteLine("*3:真情回饋*");Console.WriteLine("*4:信息查詢及統(tǒng)計*");Console.WriteLine("*5:返回上級*");Console.WriteLine("*************************************************");Console.Write("請選擇,輸入數(shù)字:");ctrl=Console.ReadLine();switch(ctrl){case"1":BaseInfoDisplay();break;//調用基礎信息維護界面case"2":PosMenuDisplay();break;//調用收銀界面case"3":TestDisplay();break;//調用真情回饋界面case"4":SumDisplay();break;//調用統(tǒng)計界面

case"5":return;//輸入5是結束當前方法,退回到調用該方法時}}},第1章目錄40/122.3.3解決方案3、修改主界面下的二級菜單界面針對BaseInfoDisplay、SumDisplay、FeedBackDisplay進行菜單操作控制,按照菜單控制思想,修改具體操作菜單4、保存,運行程序第1章目錄41/122.3.4知識總結C#提供while、do和for語句以執(zhí)行重復循環(huán)的程序代碼。使用這些語句在某個條件成立時,會重復執(zhí)行特定的程序代碼。1、for當要重復執(zhí)行某區(qū)段的程序代碼次數(shù)已知時,可以使用for語句。語法如下:for(初始值;條件判斷式;更新值)

循環(huán)體for語句的執(zhí)行過程為:1)計算初始值。2)判斷條件判斷式的值,若為假,則結束for循環(huán),否則繼續(xù)執(zhí)行。3)執(zhí)行循環(huán)體,然后更新值,轉到第二步。第1章目錄42/122.3.4知識總結2、while在循環(huán)次數(shù)不固定時,可以使用while循環(huán)。語法為:初始值while(條件式){

循環(huán)體}while循環(huán)的執(zhí)行過程為:計算初始值。判斷條件式的值,若為真,執(zhí)行循環(huán)體,然后返回第一步。若條件式的值為假,while循環(huán)結束。第1章目錄43/502.3.4知識總結3、do…whiledo循環(huán)通常搭配while一起使用。用法類似while循環(huán),唯一不同的地方在于while會先判斷條件,再決定要不要執(zhí)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論