




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
教學(xué)回顧一、面向?qū)ο蟪绦蛟O(shè)計(jì)開發(fā)的一般步驟:面向?qū)ο蠓治觯∣OA)需求分析(以對象為基本單位)面向?qū)ο笤O(shè)計(jì)(OOD)UML面向?qū)ο缶幊蹋∣OP)屬性+name:string+sex:string-age:float服務(wù)(動作)+Input:void+Show:voidPerson(類名)面向具象寫抽象萬事萬物皆對象二、面向?qū)ο缶幊痰囊话悴襟E:1、選擇項(xiàng)目類型(控制臺/WINFORM/網(wǎng)站/組件)2、類的定義(與主函數(shù)所在類并列或者引用基類庫)3、在主函數(shù)中設(shè)計(jì)程序邏輯。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實(shí)例化具體化一個類,產(chǎn)生一個對象。對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,它是構(gòu)成系統(tǒng)的一個基本單位。類的對象是該類的某一特定實(shí)體,即類類型的變量。
格式:類名對象名=new構(gòu)造函數(shù)();
Employeee1=new
Employee();
Employeee2=newEmployee(30);="JeffreyRichter";e1.age=36;
如何解決錯誤輸入?
教學(xué)回顧e1.age=-20對象實(shí)例化內(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ì)已經(jīng)錄入的學(xué)生人數(shù),如何實(shí)現(xiàn)?如果將學(xué)生的年齡輸入了16-22歲應(yīng)該如何實(shí)現(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)域,無論建立多少類的實(shí)例,內(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ù)的方式有兩個缺點(diǎn)。首先,因?yàn)楸仨殞?shí)現(xiàn)額外的函數(shù),所以需要編寫更多的代碼;其次,使用此類型的用戶必須調(diào)用方法,而不是簡單地引用一個字段名。e.SetAge(36);//Updatestheagee.SetAge(-5);//Throwsanexception一、屬性與索引器1、定義:屬性是類的一種數(shù)據(jù)結(jié)構(gòu),它是讀寫類中私有和受保護(hù)的數(shù)據(jù)的一種途徑。屬性的讀寫通過get和set訪問器進(jìn)行。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的成員變量一樣。而這實(shí)際上是通過類的成員方法的訪問來實(shí)現(xiàn)的。
Form1.Height=15;
通過使用性質(zhì)的方法,可以將類的狀態(tài)與訪問狀態(tài)的方法分離,從而使設(shè)計(jì)者可以自由地按需要改變對象的內(nèi)部狀態(tài),而客戶代碼不需要改變。使用get和set訪問器直接訪問間接訪問隱式調(diào)用學(xué)生練習(xí)定義一個學(xué)生類,對類的數(shù)據(jù)成員設(shè)置屬性。2、索引器
1、定義:類的索引器與屬性功能類似,它可以把類虛擬為一個數(shù)組,可以按照數(shù)組的方式對類的數(shù)據(jù)進(jìn)行訪問,從而實(shí)現(xiàn)對數(shù)據(jù)的保護(hù)和隱藏。索引器的讀寫也是通過get和set訪問進(jìn)行,但它們需要參數(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)域,無論建立多少類的實(shí)例,內(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CAQI 187-2021污水生物處理系統(tǒng)能效測算方法
- 催化師面試題及答案
- 防汛救援面試題及答案
- 急吐血面試題及答案
- 光明漁業(yè)面試題及答案
- 委托代理協(xié)議管理制度
- 新質(zhì)生產(chǎn)力提升
- 2025年小學(xué)月考總結(jié)模版
- T/CADBM 63-2022建筑室內(nèi)窗飾產(chǎn)品百葉簾
- 工人管理果園合同范本
- 食品配送服務(wù)質(zhì)量保障措施
- (統(tǒng)編2024版)七下語文期末專題總復(fù)習(xí)課件(共6個專題)新教材
- 用人施工合同協(xié)議書
- 藝考調(diào)式分析試題及答案
- 氣體分餾裝置操作工試題庫(初中高級工)
- 2025年海南省高三三模高考物理試卷試題(含答案詳解)
- 創(chuàng)傷中心面試題及答案
- 2024年宿州泗縣縣屬國有企業(yè)公開招聘工作人員33人筆試參考題庫附帶答案詳解
- 2025春季學(xué)期國開電大本科《人文英語3》一平臺在線形考綜合測試(形考任務(wù))試題及答案
- 燃?xì)庾栽高^戶協(xié)議書
- 高考政治答題技巧與模板構(gòu)建之選必二《法律與生活》答題模板
評論
0/150
提交評論