




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 【項(xiàng)目需求】 建議配置(pizh):2.2 GHz或速度更快的CPUIGB或更大容量的RAM,分辨率1 2801 024的顯示器,7 200 RPM或更高轉(zhuǎn)速的硬盤。 操作系統(tǒng):Windows XP以上。 開發(fā)軟件:Visual Studio 2005/2008中文版(含MSDN)。 【相關(guān)知識點(diǎn)】 建議課時:8節(jié)課。 相關(guān)知識:類和對象的基礎(chǔ)知識,定義和構(gòu)造類,構(gòu)造函數(shù)和析構(gòu)函數(shù)的用法,定義屬性和方法。 【項(xiàng)目分析】 設(shè)計該項(xiàng)目的主要步驟:上一頁下一頁返回(fnhu)第1頁/共44頁第一頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 創(chuàng)建學(xué)生類,確定學(xué)生
2、類的數(shù)據(jù)成員(姓名、學(xué)號、年齡、性別和成績數(shù)組),以及公共屬性(shxng)的讀寫性; 統(tǒng)計每個學(xué)生成績總分和平均分; 輸入與輸出學(xué)生基本信息。上一頁下一頁返回(fnhu)第2頁/共44頁第二頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 任務(wù)一定義學(xué)生類(Stu) 【任務(wù)描述】 新建項(xiàng)目并創(chuàng)建學(xué)生類,指定數(shù)據(jù)成員,以及公有屬性和方法。 【任務(wù)實(shí)施】 新建一個控制臺應(yīng)用程序。在模板中選擇“控制臺應(yīng)用程序”,將項(xiàng)目名稱設(shè)為ConAppStu,位置設(shè)為“E:CspharpAppExamples (也可以為其他位置),如圖1-1所示。 新建一個Stu類。選擇菜單(ci dn)“項(xiàng)目” “添加類”,如圖
3、1-2所示。 在“添加新項(xiàng)”的模板中選擇“類”,將默認(rèn)名稱Classl.cs更名為Stu.cs,單擊“添加”按鈕,生成Stu類并打開代碼窗口,如圖1-3圖1-5所示。上一頁下一頁返回(fnhu)第3頁/共44頁第三頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 確定學(xué)生個人的基本信息。其包含的數(shù)據(jù)成員如表1-1所示。 輸入(shr)Stu類的數(shù)據(jù)成員,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第4頁/共44頁第四頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 將第一個學(xué)生信息通過創(chuàng)建(chungjin)的類對象進(jìn)行賦值,相關(guān)代碼如下所示;但出現(xiàn)了圖1-6所示的錯誤提示。上一頁下一頁返回(fnhu)
4、第5頁/共44頁第五頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 類的數(shù)據(jù)成員默認(rèn)為private類型,在類外部(wib)不可訪問,將類數(shù)據(jù)成員改換為public(公有),則可解決該問題,相關(guān)代碼如下: 提示/備注 多個學(xué)生信息需要輸入,每次都需要通過4條語句進(jìn)行賦值,輸入過于煩瑣,可通過構(gòu)造方法對類對象賦值。上一頁下一頁返回(fnhu)第6頁/共44頁第六頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 創(chuàng)建(chungjin)Stu類的構(gòu)造方法,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第7頁/共44頁第七頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 在Main()方法
5、中賦值,相關(guān)代碼如下: 提示/備注 通過構(gòu)造方法來傳遞初始值比用“=”賦值更具有安全性。而且,將5個基本信息字段由public修改為private則更能提高數(shù)據(jù)訪問的安全性,使得構(gòu)造方法成為(chngwi)對象初始化的唯一途徑。上一頁下一頁返回(fnhu)第8頁/共44頁第八頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 創(chuàng)建(chungjin)Display()方法,將學(xué)生基本信息輸出,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第9頁/共44頁第九頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 在Main()方法中輸出顯示實(shí)驗(yàn)數(shù)據(jù),相關(guān)代碼(di m)如下: 在Totle()方法中統(tǒng)計3
6、門課程的總分,相關(guān)代碼(di m)如下:上一頁下一頁返回(fnhu)第10頁/共44頁第十頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 在Avg()方法中統(tǒng)計3門課程的平均分,相關(guān)代碼如下: 【理論知識】 1.類和對象 面向?qū)ο笏枷雭碓从趯ΜF(xiàn)實(shí)世界的認(rèn)知,人們將錯綜復(fù)雜的事物進(jìn)行分類,從而使世界變得井井有條。比如,人類是一個(y )類(class),你是人,我是人,都是人類的實(shí)例(instance)或稱對象(object)。上一頁下一頁 返回(fnhu)第11頁/共44頁第十一頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 每個類描述一類事物,這些事物應(yīng)具有相關(guān)的屬性狀態(tài),如人有身高、體重、文
7、化程度、性別、年齡、民族等。一個(y )對象是類的一個(y )實(shí)例,它應(yīng)具有具體的屬性狀態(tài),如張二(人的實(shí)例)身高1.801 m、體重70 kg、大學(xué)本科學(xué)歷、男、21歲、漢族;每類事物也都有一定的行為,如人類具有走、跑、跳等行為。這些不同的狀態(tài)和行為將各類事物區(qū)分開來。類只有一個(y ),而類的實(shí)例可以有無數(shù)個。 2.類的成員 類的主要成員包括兩種類型:描述狀態(tài)的數(shù)據(jù)成員和描述操作的函數(shù)成員。 數(shù)據(jù)成員包括:字段(field)和常量(constant)。上一頁下一頁 返回(fnhu)第12頁/共44頁第十二頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 函數(shù)成員包括:方法、屬性、索引器、事件
8、、運(yùn)算符、構(gòu)造函數(shù)和析構(gòu)函數(shù)。 3.定義類,類實(shí)例及成員引用 (1)類的定義 訪問修飾符Class ClassName :Class-base Class-body;/數(shù)據(jù)(shj)成員和函數(shù)成員 常用訪問修飾符及應(yīng)用范圍如表1-2所示。上一頁下一頁返回(fnhu)第13頁/共44頁第十三頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 (2)類的實(shí)例化 ClassName ObjName-new ClassName(參數(shù)); 其中:C1assName為類的名字,ObjName為對象名,參數(shù)表示是否有參數(shù)、多少個參數(shù)由類的構(gòu)造函數(shù)決定,本項(xiàng)目都不帶參數(shù)創(chuàng)建對象。 注意:用new創(chuàng)建一個類的對象時,
9、將在托管堆中為對象分配一塊(y kui)內(nèi)存,每個對象都有不同的內(nèi)存。代表對象的變量存儲的是存放對象的內(nèi)存的地址。上一頁下一頁 返回(fnhu)第14頁/共44頁第十四頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 4.構(gòu)造方法 構(gòu)造方法是一種特殊的方法,在類實(shí)例(shl)創(chuàng)建之前執(zhí)行,用來初始化對象,完成對象創(chuàng)建前所需的相關(guān)設(shè)定。構(gòu)造方法通常是public訪問類型,方法的名稱必須與類名相同,無返回類型,不使用void。另外,在從構(gòu)造函數(shù)返回之前,對象都是不確定的,不能用于執(zhí)行任何操作。只有在構(gòu)造函數(shù)執(zhí)行完成之后,存放對象的內(nèi)存塊中才存放這個類的實(shí)例(shl)。上一頁下一頁返回(fnhu)第15
10、頁/共44頁第十五頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 任務(wù)二設(shè)計(shj)主方法 【任務(wù)描述】 輸入一個班的人數(shù)num(整數(shù));保留多個學(xué)生對象信息到一個類數(shù)組中;學(xué)生基本信息和成績總分輸出顯示。 【任務(wù)實(shí)施】 輸入班級最大容納學(xué)生人數(shù): 若步驟1中輸入班級學(xué)生總?cè)藬?shù)有40人,則需創(chuàng)建40個Stu類對象,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第16頁/共44頁第十六頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 Stu s2=new Stu(王恒”,02;18,男;new double85;80,78); Stu s3=new Stu(李明”,03,19,男,new double
11、95,74,88); Stu s40=new Stu(“張華”,40,19,男,new double100,89,92); 注意:顯然這么輸入的做法煩瑣而不易管理數(shù)據(jù)。因此,可以考慮將創(chuàng)建的類對象看做(kn zu)是同類型的數(shù)據(jù)以數(shù)組的方式來存放,通過改變數(shù)組的下標(biāo)可獲得不同的對象信息。 創(chuàng)建學(xué)生類數(shù)組,相關(guān)代碼如下: Stu student=new Stus1,s2,s3,s40;上一頁下一頁返回(fnhu)第17頁/共44頁第十七頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 進(jìn)一步簡化類數(shù)組的初始化,相關(guān)(xinggun)代碼如下: Stu student=new Stu new Stu
12、(張莉,01,19,女,new double70,80,90), new Stu(王恒,02,18,男,new double85,80,78), new Stu (李明,03, 19,男,new double95,74,88), new Stu(張華,40,19,男,new double100,89,92) 上一頁下一頁返回(fnhu)第18頁/共44頁第十八頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 進(jìn)一步完善學(xué)生的基本信息,通過提示信息輸入,相關(guān)代碼(di m)如下:上一頁下一頁返回(fnhu)第19頁/共44頁第十九頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績上一頁下一頁返回(fnh
13、u)第20頁/共44頁第二十頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 運(yùn)行結(jié)果如圖1-7所示。 每個學(xué)生總分和平均分輸出顯示,修改Stu類中Display()方法的輸出信息(xnx),相關(guān)代碼如下:上一頁下一頁返回(fnhu)第21頁/共44頁第二十一頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 運(yùn)行結(jié)果如圖1-8所示。 提示/備注 程序尚未完善,應(yīng)考慮輸出的平均分應(yīng)保留小數(shù)有效(yuxio)位、每個學(xué)生基本信息輸入有效(yuxio)后能否給出提示等情況。上一頁下一頁返回(fnhu)第22頁/共44頁第二十二頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 任務(wù)三完善程
14、序功能 【任務(wù)描述】 輸入學(xué)生基本信息的有效性檢驗(yàn);每個學(xué)生基本信息輸入有效后的信息提示(tsh);輸入學(xué)生姓名為exit時,可結(jié)束輸入,并統(tǒng)計實(shí)際學(xué)生人數(shù)信息。上一頁下一頁返回(fnhu)第23頁/共44頁第二十三頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 【任務(wù)實(shí)施】 創(chuàng)建(chungjin)學(xué)生年齡的公開屬性,對其為負(fù)值情況的判斷,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第24頁/共44頁第二十四頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 注意:在構(gòu)造方法中將stuAge=age;代碼修改為Age=age;在對象初始化數(shù)值時能通過屬性賦值給內(nèi)部數(shù)據(jù)變量,同時進(jìn)行數(shù)值有效性判
15、斷。 添加一個(y )布爾類型字段isSucc,以判斷是否成功錄入數(shù)據(jù)。若有無效數(shù)據(jù)錄入,則設(shè)置為false,否則為true,相關(guān)代碼如下: private bool isSucc; 修改構(gòu)造函數(shù),將isSucc初始化:上一頁下一頁返回(fnhu)第25頁/共44頁第二十五頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 public Stu(string name,string no,int age,string sex,doublescore) /初始化數(shù)據(jù)(shj)成員的構(gòu)造函數(shù)上一頁下一頁 返回(fnhu)第26頁/共44頁第二十六頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 在錄
16、入(l r)數(shù)據(jù)結(jié)束后,如何讓private類型的isSucc的值傳遞到Main()方法中呢?可通過在Stu類中設(shè)置一個對應(yīng)于isSucc的公開屬性。 Main()方法接收傳遞的公開屬性IsSucc,并進(jìn)行判斷,在任務(wù)一的步驟4的循環(huán)中進(jìn)行修改,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第27頁/共44頁第二十七頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績上一頁下一頁 返回(fnhu)第28頁/共44頁第二十八頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 輸入學(xué)生姓名(xngmng)為exit時,可結(jié)束輸入。在任務(wù)一的步驟4的循環(huán)中進(jìn)行修改,相關(guān)代碼如下:上一頁下一頁返回(fnhu)
17、第29頁/共44頁第二十九頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 在Main()方法中添加一個整型類型的變量count,統(tǒng)計輸入的實(shí)際人數(shù)。在任務(wù)一的步驟(bzhu)4的循環(huán)外和循環(huán)內(nèi)進(jìn)行修改,相關(guān)代碼如下:上一頁下一頁返回(fnhu)第30頁/共44頁第三十頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 學(xué)生信息和成績總分、平均分顯示,相關(guān)代碼如下: 注意:該部分程序若沒有對象為空的判斷,則會按照(nzho)最初輸入的班級人數(shù)全部顯示。若沒有count變量,則任務(wù)三中計算每門課程的平均分無法統(tǒng)計出正確人數(shù)。 運(yùn)行結(jié)果如圖1-9所示。上一頁下一頁返回(fnhu)第31頁/共44頁
18、第三十一頁,共45頁。項(xiàng)目(xingm)一統(tǒng)計學(xué)生成績 【理論知識】 1.屬性 語法格式(g shi): ptype pname get/取字段數(shù)據(jù)程序代碼,即讀取(取值) set/設(shè)定字段數(shù)據(jù)程序代碼,即寫入(賦值) 上一頁下一頁返回(fnhu)第32頁/共44頁第三十二頁,共45頁。項(xiàng)目一統(tǒng)計(tngj)學(xué)生成績 ptype為屬性類型(lixng),pname為屬性的名稱,set和get為訪問器,用來控制私有數(shù)據(jù)成員的讀寫性。在get訪問器中必須用return關(guān)鍵字,將其對應(yīng)的字段值返回給引用此屬性的程序代碼。在set訪問器中有一個隱式參數(shù)value,必須將value這個變量指定給對應(yīng)的字
19、段。 Visual Studio(VS)提供了一個自動封裝字段的方法:在類中定義一個字段“string a;,接著把鼠標(biāo)停放到a處,點(diǎn)擊右鍵選擇“重構(gòu)” “封裝字段”,VS會自動封裝a字段,并目取名為A,也可以更改屬性的名字,單擊“確定”按鈕,a字段的A屬性就封裝好了。 2.屬性的4種形式 讀寫屬性:包含get和set訪問器。 只讀屬性:只有g(shù)et訪問器。上一頁下一頁返回(fnhu)第33頁/共44頁第三十三頁,共45頁。項(xiàng)目一統(tǒng)計學(xué)生(xu sheng)成績 只寫屬性:只有set訪問器。 靜態(tài)屬性:只能封裝靜態(tài)數(shù)據(jù)。 【項(xiàng)目小結(jié)】 學(xué)習(xí)者練習(xí)了從設(shè)計Stu類結(jié)構(gòu)到各種數(shù)據(jù)的輸入和統(tǒng)計的任務(wù),通過本項(xiàng)目,學(xué)生學(xué)會類基本結(jié)構(gòu)的設(shè)計、公共屬性、創(chuàng)建(chungjin)方法等的使用,為后續(xù)更好地理解類和對象打下基礎(chǔ)。上一頁 返回(fnhu)第34頁/共44頁第三十四頁,共45頁。圖1-1“新建項(xiàng)目(xingm)”對話框返回(fnhu)第35
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 再生鋼鐵進(jìn)口合同范例
- 出口模具合同標(biāo)準(zhǔn)文本
- 2025年03月甘肅張掖市引進(jìn)高層次急需人才172人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年03月福建省廈門市公安局局屬單位非在編輔助崗人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 刑事會見合同樣本
- 個人檔案工作合同樣本
- 分期付款新車合同標(biāo)準(zhǔn)文本
- roi推廣合同樣本
- 冷凍玉米買賣合同樣本
- 農(nóng)場裝修服務(wù)合同樣本
- 特種工作作業(yè)人員體格檢查表
- 清遠(yuǎn)市城市樹木修剪技術(shù)指引(試行)
- 廣州國際文化中心詳細(xì)勘察報告正文-171229end
- 警察禮儀(PPT53頁)
- 《關(guān)于加強(qiáng)高等學(xué)校食堂管理工作的意見》解讀
- 《尚藝發(fā)型標(biāo)準(zhǔn)剪裁》PPT課件
- 中國現(xiàn)代文學(xué)史00537
- 110kV升壓站電氣施工工藝及方案培訓(xùn)資料(共107頁)
- 年產(chǎn)萬噸碳酸飲料廠的工藝設(shè)計
- 流砂過濾器設(shè)計說明書
- T∕CISA 065-2020 高爐循環(huán)冷卻水系統(tǒng)節(jié)能技術(shù)規(guī)范
評論
0/150
提交評論