面向?qū)ο蟪绦蛘Z(yǔ)言設(shè)計(jì)6用對(duì)象思考:值類型和引用類型.ppt
《面向?qū)ο蟪绦蛘Z(yǔ)言設(shè)計(jì)6用對(duì)象思考:值類型和引用類型.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《面向?qū)ο蟪绦蛘Z(yǔ)言設(shè)計(jì)6用對(duì)象思考:值類型和引用類型.ppt(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
用對(duì)象思考 值類型和引用類型 2 回顧 classStudent privatestringStudy stringname privateintStudy stringname 屬性中g(shù)et和set訪問(wèn)器可以單獨(dú)存在么 返回值不同的兩個(gè)方法不能重載 3 預(yù)習(xí)檢查 結(jié)構(gòu)是值類型還是引用類型 結(jié)構(gòu)是否可以添加無(wú)參的構(gòu)造函數(shù) 4 本章任務(wù) 分別用結(jié)構(gòu)和類實(shí)現(xiàn)Student對(duì)象體會(huì)值類型與引用類型的區(qū)別 5 熟練掌握常量 枚舉 結(jié)構(gòu)的使用理解值類型與引用類型的概念理解值類型與引用類型作為參數(shù)時(shí)的區(qū)別 本章目標(biāo) 6 數(shù)據(jù)類型回顧 常用的數(shù)據(jù)類型有哪些 7 為什么使用常量 publicclassCompute doublepi 3 14 計(jì)算圓的周長(zhǎng)publicdoublePerimeter doubleradius return2 pi radius 計(jì)算圓的面積publicdoublearea doubleradius returnpi radius radius 這個(gè)類中 會(huì)反復(fù)使用pi 如果pi在類中被修改了 計(jì)算結(jié)果錯(cuò)誤 如何避免pi在類中被修改 8 常量 常量在使用過(guò)程中值不會(huì)發(fā)生變化常量程序中反復(fù)使用 const類型常量名 常量值 程序中不會(huì)被改變 staticvoidMain string args constintPI 3 14 PI 3 20 強(qiáng)制賦值會(huì)發(fā)生錯(cuò)誤 常量名通常使用大寫 9 隨意賦值的危險(xiǎn) conststringGENDER M 男 conststringGENDER F 女 性別privatestringgender publicstringGender get returngender set gender value 用常量給屬性賦值 student Gender GENDER M 也可以這樣給屬性賦值 student Gender ACCP 為Student類添加性別的屬性 用常量賦值 有違常理 非法數(shù)據(jù) 演示示例1 MyEnum 10 什么是枚舉 用一種新的類型定義enum publicenumGenders Male Female 性別privateGendersgender publicGendersGender get returngender set gender value 這樣給屬性賦值 student Gender Genders Male 如果這樣屬性賦值 student Gender ACCP 類型不同不能賦值 性別屬性的類型 Genders是一個(gè)枚舉類型 代碼錯(cuò)誤 11 枚舉定義 枚舉是一組描述性的名稱枚舉定義一組有限的值 不能包含方法對(duì)可能的值進(jìn)行約束枚舉允許描述性名稱表示整數(shù)值 訪問(wèn)修飾符enum枚舉名 值1 值2 publicenumAccp S1 S2 Y2 我們不會(huì)輸入S3 Y3 publicenumAccp S1 1 S2 2 Y2 3 Console WriteLine S2的整數(shù)值是 0 int Accp S2 枚舉表示的整數(shù)值取得方法 12 枚舉與其它類型的轉(zhuǎn)換 枚舉轉(zhuǎn)換為字符串字符串轉(zhuǎn)換為枚舉 publicenumAccp S1 S2 Y2 Console WriteLine S2的值是 0 Accp S2 ToString Accp Enum Parse typeof Accp S2 需要轉(zhuǎn)換的字符串 13 枚舉的特點(diǎn) 汽車類有一個(gè)成員是車身顏色 staticvoidMain string args string color newstring red black write Console WriteLine 我要選擇的顏色是 0 color 0 使用時(shí) 必須了解數(shù)組的構(gòu)成 枚舉可以用描述性的名稱表示值 使用時(shí)無(wú)需了解它的構(gòu)成 privateenumcolor red write black staticvoidMain string args Console WriteLine 我要選擇的顏色是 0 color red 枚舉 14 枚舉的典型應(yīng)用 DialogResultchoice choice MessageBox Show 確定要退出嗎 退出系統(tǒng) MessageBoxButtons OKCancel MessageBoxIcon Information if choice DialogResult OK Application Exit DialogResult是個(gè)枚舉 指示對(duì)話框的返回值 這樣我們就不會(huì)判斷一些非法的值 導(dǎo)致系統(tǒng)異常 15 為什么需要結(jié)構(gòu) 有很多預(yù)定義顏色 正常人眼可分辨的顏色種類可達(dá)幾十萬(wàn)種以上Color提供使用RGB值返回顏色的方法FromArgb System Drawing Color有很多顏色值 它是一個(gè)枚舉嗎 System Drawing Color是一個(gè)結(jié)構(gòu) 16 結(jié)構(gòu)定義 結(jié)構(gòu)中有屬性 也可以有方法 publicstructStructStudent publicstringname publicintAge publicstringHobby publicintPopularity publicvoidSayHi 訪問(wèn)修飾符struct結(jié)構(gòu)名 定義結(jié)構(gòu)成員 構(gòu)成和類相似 定義成員變量不能賦初值 成員方法 17 StructStudentmyStu myStu Age 20 myStu Gender Genders Female myStu Hobby 唱歌 myStu Name 張靚靚 myStu Popularity 100 myStu SayHi 結(jié)構(gòu)的使用2 1 定義結(jié)構(gòu)可以不用new 為結(jié)構(gòu)成員賦值 調(diào)用結(jié)構(gòu)的方法 運(yùn)行結(jié)果和類的SayHi相同 18 StructStudentmyStu newStructStudent 張靚靚 Genders Female 20 唱歌 100 myStu SayHi 結(jié)構(gòu)的使用2 2 structStructStudent publicStructStudent stringname Gendersgender intage stringhobby intpopularity this Name name this Gender gender 可以有構(gòu)造函數(shù) 只能聲明有參數(shù)的構(gòu)造函數(shù) 構(gòu)造函數(shù)傳參 19 理解結(jié)構(gòu)與類的區(qū)別 20 值類型與引用類型 使用類版Student和結(jié)構(gòu)版Student實(shí)現(xiàn)下面操作 staticvoidMain string args 使用值類型StructStudentstudent1 newStructStudent StructStudentstudent2 newStructStudent student1 Age 18 student2 student1 student2 Age 20 Console WriteLine student1 0 student2 1 student1 Age student2 Age staticvoidMain string args 使用引用類型Studentstudent1 newStudent Studentstudent2 newStudent student1 Age 18 student2 student1 student2 Age 20 Console WriteLine student1 0 student2 1 student1 Age student2 Age 21 值類型 值類型直接存儲(chǔ)值 Age 18 student1 student1 studnet2 student1 Age 18 Age 18 Age student2 student1 student1 Age student1 studnet2 Age 18 Age 20 student2 Age 20 22 引用類型 student1 student1 Age 18 Age 18 引用類型存儲(chǔ)對(duì)值的引用 student1 studnet2 student2 student1 student1 Age 兩個(gè)變量都發(fā)生變化 Age 20 student1 studnet2 student2 Age 20 23 拆箱和裝箱 值類型和引用類型之間的轉(zhuǎn)換 值類型 引用類型 裝箱 拆箱 staticvoidMain string args inti 123 objecto i 裝箱i 456 改變i的內(nèi)容Console WriteLine 值類型的值為 0 i Console WriteLine 引用類型的值為 0 o staticvoidMain string args inti 123 objecto i 裝箱intj int o 拆箱 與值類型的變量類型要一致 24 值方式的參數(shù)的傳遞 值傳遞方式傳遞值類型 結(jié)構(gòu) StructStudent不會(huì)被修改 傳遞值類型參數(shù)StructStudentscofield newStructStudent Scofield Genders Male 28 越獄獄 scofield SayHi Vote scofield scofield SayHi privatevoidVote StructStudentstu stu Popularity 人氣屬性加1的方法 人氣加1 兩次的人氣值相同 參數(shù)未發(fā)生變化 值傳遞 演示示例5 MySchool 25 值方式的參數(shù)的傳遞 值傳遞引用類型時(shí) 類 Student參數(shù)在程序中被修改 傳遞引用類型參數(shù)Studentscofield newStudent Scofield Genders Male 28 越獄獄 scofield SayHi Vote scofield scofield SayHi 引用類型 類 人氣屬性加1的方法 人氣加1 26 引用方式傳遞 傳遞值類型 傳遞引用類型 ref方式傳遞完全修改 privatevoidVote refStructStudentstu stu Popularity ref引用方式傳遞參數(shù) 演示示例6 MySchool 27 值類型和引用類型細(xì)分 28 傳遞數(shù)組 數(shù)組是值類型還是引用類型 int odd 1 3 5 PrintArray odd ChangeToEven odd PrintArray odd privatevoidChangeToEven int arr for inti 0 i arr Length i arr i i 2 值方式傳遞 arr 0 1arr 1 3arr 2 5arr 0 0arr 1 2arr 2 4 參數(shù)被修改 數(shù)組是引用類型 29 數(shù)組屬性 建立班級(jí)類包含多個(gè)學(xué)員 訪問(wèn)學(xué)員對(duì)象 MyClass1myClass1 newMyClass1 T01 myClass1 Students 2 SayHi 通過(guò)索引訪問(wèn) 數(shù)組屬性 演示示例7 MyArray 30 什么是索引器 能否通過(guò)姓名訪問(wèn)學(xué)員 publicStudentthis intindex get returnstudents index 學(xué)生類中添加 采用索引器的方式MyClassmyClass newMyClass T01 myClass Students 2 SayHi myClass Students 周杰杰 SayHi 可以按照索引訪問(wèn) 重載的索引器根據(jù)姓名查找學(xué)員 演示示例8 MySchool 31 索引器的特點(diǎn) DataRow 列名 DataReader 列名 數(shù)組屬性只能根據(jù)下標(biāo) 索引 來(lái)訪問(wèn)索引器可以被重載可以使用更靈活的方式訪問(wèn) 定義訪問(wèn)方式我們以前用過(guò)的索引器 32 類圖 VS2005的類圖 類圖描述類的結(jié)構(gòu) 查看一個(gè)類的類圖 鎖 表示私有 不同字段有不同的圖標(biāo) 33 通用的類圖 表示私有 表示公有 后是變量類型 后是返回類型 讀懂類圖是OOP的基本要求 34 總結(jié) 常數(shù)在程序中可以被修改嗎 枚舉中可以有方法嗎 簡(jiǎn)述類和結(jié)構(gòu)的區(qū)別 值類型和引用類型間的轉(zhuǎn)換稱為什么 通用的類圖中私有成員用什么表示- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 面向 對(duì)象 程序語(yǔ)言 設(shè)計(jì) 思考 類型 引用
鏈接地址:http://www.hcyjhs8.com/p-5433534.html