




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
教學(xué)回顧一、面向?qū)ο蟪绦蛟O(shè)計開發(fā)的一般步驟:面向?qū)ο蠓治觯∣OA)需求分析(以對象為基本單位)面向?qū)ο笤O(shè)計(OOD)UML面向?qū)ο缶幊蹋∣OP)屬性+name:string+sex:string-age:float服務(wù)(動作)+Input:void+Show:voidPerson(類名)面向具象寫抽象萬事萬物皆對象二、面向?qū)ο缶幊痰囊话悴襟E:1、選擇項目類型(控制臺/WINFORM/網(wǎng)站/組件)2、類的定義(與主函數(shù)所在類并列或者引用基類庫)3、在主函數(shù)中設(shè)計程序邏輯。4、編輯調(diào)試
教學(xué)回顧三、類的聲明1.格式如下:(類修飾符)class〈類名稱〉{}[訪問修飾符]類型變量名1聲明;[訪問修飾符]類型變量名2聲明;…//類的構(gòu)造函數(shù)與析構(gòu)函數(shù)[訪問修飾符]返回類型<方法的名稱([參數(shù)]){…//要執(zhí)行的操作;}//聲明類的變量//聲明類的方法//聲明類構(gòu)造與析構(gòu)函數(shù)//聲明類的名稱教學(xué)回顧四、對象的應(yīng)用:
利用new實例化具體化一個類,產(chǎn)生一個對象。對象是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位。類的對象是該類的某一特定實體,即類類型的變量。
格式:類名對象名=new構(gòu)造函數(shù)();
Employeee1=new
Employee();
Employeee2=newEmployee(30);="JeffreyRichter";e1.age=36;
如何解決錯誤輸入?
教學(xué)回顧e1.age=-20對象實例化內(nèi)存狀態(tài)圖&e1&e1.agee1.Input()e1.Show()Employee()Employee(intpara1)棧內(nèi)存e2.agee2.Input()e2.Show()Employee()Employee(intpara1)堆內(nèi)存36JeffreyRichter1Employee.id思考題定義一個學(xué)生stuId統(tǒng)計已經(jīng)錄入的學(xué)生人數(shù),如何實現(xiàn)?如果將學(xué)生的年齡輸入了16-22歲應(yīng)該如何實現(xiàn)?一、類的靜態(tài)成員1、靜態(tài)的數(shù)據(jù)成員:格式:static[訪問修飾符]成員名;2、靜態(tài)的構(gòu)造函數(shù)格式:staticpublic類名;3、靜態(tài)的方法。格式:static[訪問修飾符]成員函數(shù)名()
{}注:
1、一旦建立靜態(tài)域,無論建立多少類的實例,內(nèi)存中只存在一個靜態(tài)數(shù)據(jù)的拷貝
2、靜態(tài)的構(gòu)造函數(shù)與靜態(tài)的方法只能引用類的靜態(tài)的數(shù)據(jù)成員。classEmployee{privateStringName;//fieldisnowprivateprivateInt32Age;//fieldisnowprivatepublicStringGetName(){return(Name);}publicvoidSetName(Stringvalue){Name=value;}publicInt32GetAge(){return(Age);}publicvoidSetAge(Int32value){if(value<=0)
throw(new
ArgumentException("Agemustbegreaterthan0");Age=value;}}
問題解決!上述方法中所示的抽象數(shù)據(jù)的方式有兩個缺點。首先,因為必須實現(xiàn)額外的函數(shù),所以需要編寫更多的代碼;其次,使用此類型的用戶必須調(diào)用方法,而不是簡單地引用一個字段名。e.SetAge(36);//Updatestheagee.SetAge(-5);//Throwsanexception一、屬性與索引器1、定義:屬性是類的一種數(shù)據(jù)結(jié)構(gòu),它是讀寫類中私有和受保護的數(shù)據(jù)的一種途徑。屬性的讀寫通過get和set訪問器進行。2、舉例:classEmployee
{privatestring_Name; privateInt32_Age; publicstringName {get{return(_Name);}
set{_Name=value;}}
publicInt32Age {get{return(_Age);}
set{if(value<=0)
throw(new
ArgumentException(“Agemustbegreaterthan0”);
_Age=value;}}}類使用了與例一中的類功能完全相同的屬性。您可以看到,屬性稍微簡化了代碼,更重要的是,它們允許調(diào)用如下方式編寫代碼:
e.Age=36;//Updatestheage
e.Age=-5;//Throwsanexception
利用性質(zhì)可以讓客戶訪問類的私有狀態(tài),就好象訪問public的成員變量一樣。而這實際上是通過類的成員方法的訪問來實現(xiàn)的。
Form1.Height=15;
通過使用性質(zhì)的方法,可以將類的狀態(tài)與訪問狀態(tài)的方法分離,從而使設(shè)計者可以自由地按需要改變對象的內(nèi)部狀態(tài),而客戶代碼不需要改變。使用get和set訪問器直接訪問間接訪問隱式調(diào)用學(xué)生練習(xí)定義一個學(xué)生類,對類的數(shù)據(jù)成員設(shè)置屬性。2、索引器
1、定義:類的索引器與屬性功能類似,它可以把類虛擬為一個數(shù)組,可以按照數(shù)組的方式對類的數(shù)據(jù)進行訪問,從而實現(xiàn)對數(shù)據(jù)的保護和隱藏。索引器的讀寫也是通過get和set訪問進行,但它們需要參數(shù)。索引器3-1usingSystem;class
IndexerExample{
public
string[]stringlist=new
string[10];
public
string
this[intindex] {
get
{
return
stringlist[index]; }
set
{
stringlist[index]=value.ToString(); } }}class
DemoIndexer{
static
void
Main() {
IndexerExample
IndexTest=new
IndexerExample(); IndexTest.stringlist[1]="Sam";
IndexTest[2]="Tom"; System.Console.WriteLine(“IndexTest[1]is是{0}\nIndexTest[2]is是{1}",IndexTest[1],IndexTest[2]);
Console.ReadLine(); }}已調(diào)用索引器索引器傳統(tǒng)賦值總結(jié)類的靜態(tài)成員一旦建立靜態(tài)域,無論建立多少類的實例,內(nèi)存中只存在一個靜態(tài)數(shù)據(jù)的拷貝。類
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 青島幼兒師范高等??茖W(xué)?!冬F(xiàn)代漢語I》2023-2024學(xué)年第二學(xué)期期末試卷
- 慶陽職業(yè)技術(shù)學(xué)院《商務(wù)統(tǒng)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽醫(yī)學(xué)院《應(yīng)用多元統(tǒng)計分析實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 嘉興南湖學(xué)院《歷史文獻檢索與論文寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西理工大學(xué)《材料科學(xué)基礎(chǔ)應(yīng)用研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽師范大學(xué)《兒歌表演唱(二)》2023-2024學(xué)年第二學(xué)期期末試卷
- 麗江文化旅游學(xué)院《中外戲劇比較研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《電工與電子技術(shù)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆工程學(xué)院《核醫(yī)學(xué)E》2023-2024學(xué)年第二學(xué)期期末試卷
- 池州學(xué)院《跨文化研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 《分娩機轉(zhuǎn)》課件
- 口腔醫(yī)院市場營銷新入職員工培訓(xùn)
- 軍隊文職備考(面試)近年考試真題(參考300題)
- 金融業(yè)稅收優(yōu)惠政策指引
- 葉圣陶杯作文
- 腦梗死臨床表現(xiàn)護理
- 新高考英語|語法專項之括號法突破長難句 講解課件-2025屆高三英語上學(xué)期一輪復(fù)習(xí)專項
- 《光通信技術(shù)簡介》課件
- 山西省2024年中考物理試題(含答案)
- 電子商務(wù)平臺供貨方案及風(fēng)險控制措施
- 文獻檢索與利用
評論
0/150
提交評論