版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、4類和對象4.1類和對象的概念 類的概念是為了讓程序設(shè)計(jì)語言能更清楚的描述日常生活的事物,類是對現(xiàn)實(shí)世界中一系列具有相同性質(zhì)的事物的總稱,是對具有共同數(shù)據(jù)和行為的一類事物的抽象描述。共同數(shù)據(jù)被描述為類中的數(shù)據(jù)成員,共同行為被描述為類中的方法成員;對象則是實(shí)際存在的屬該類事物的具體個(gè)體。因而也稱實(shí)例()。下面是一個(gè)“汽車類”和“汽車實(shí)例”的例子人類張三李四王五類對象第1頁,共30頁。工作吃飯學(xué)習(xí)身高年齡.性別人屬性行為4類和對象4.1類和對象的概念 第2頁,共30頁。類=(算法+數(shù)據(jù)結(jié)構(gòu))面向?qū)ο蟪绦虻慕Y(jié)構(gòu)特點(diǎn)程序=(類+類+)第3頁,共30頁。封裝行類為用戶提供對象的屬性和行為的接口用戶通過這
2、些接口使用這些類,無須知道這些類的內(nèi)部如何構(gòu)造的。不能操作類中的內(nèi)部數(shù)據(jù)將內(nèi)部數(shù)據(jù)隱藏4.2 面向?qū)ο蟪绦蛟O(shè)計(jì)語言的三大原則案例:人操作機(jī)器的例子人通過幾個(gè)按鈕就可以享受機(jī)器提供的服務(wù)了機(jī)器可看作是一個(gè)對象第4頁,共30頁。繼承性4.2 面向?qū)ο蟪绦蛟O(shè)計(jì)語言的三大原則繼承描述子類與父類之間的一種關(guān)系,通過繼承,子類既保留了父類原有的功能,又可以根據(jù)需求進(jìn)行相應(yīng)的擴(kuò)展。第5頁,共30頁。多態(tài)4.2 面向?qū)ο蟪绦蛟O(shè)計(jì)語言的三大原則多態(tài)指的是多個(gè)對象對于同一個(gè)指令,有各自的理解,產(chǎn)生不同的行為。Cut演員停止表演理發(fā)師剪發(fā)他們表現(xiàn)的形態(tài)是不同的!第6頁,共30頁。4.3、 類的定義在中,類可以使用關(guān)
3、鍵字來定義,類的聲明格式如下: 訪問修飾符 類名 類的成員定義 其中,訪問修飾符關(guān)鍵字可選,是變量的作用域,有6個(gè)關(guān)鍵字可選,這6個(gè)關(guān)鍵字含義如下:全局變量。:私有變量。(默認(rèn)為):受保護(hù)的變量。(在其子類中可以被訪問):可在同一個(gè)鏈接庫中訪問。(在所在的程序集中可以被訪問):密封類,不允許被繼承。:抽象類,不允許建立類的實(shí)例。說明:訪問修飾符中 1-4為訪問權(quán)限修飾符,類的修飾符可以為 或者 但通常為,當(dāng)一個(gè)類沒有寫修飾符時(shí)其訪問權(quán)限為,當(dāng)一個(gè)類的成員沒有寫修飾符時(shí)其訪問權(quán)限為第7頁,共30頁。4.4、對象的定義例如,通過學(xué)生類,可以創(chuàng)建一個(gè)學(xué)生對象的代碼如下所示。 = ();上面代碼中,“
4、”是對象名稱,“”是類名稱。通過關(guān)鍵字把實(shí)例化為。第8頁,共30頁。字段(成員變量)屬性(*) 屬性的作用就是保護(hù)字段,對字段的設(shè)置和取值進(jìn)行限定。方法事件4.4類的成員類通常包括以下三類成員:第9頁,共30頁。4.5類的成員創(chuàng)建成員變量(字段)類的特性可以通過成員變量體現(xiàn)出來。如果成員變量的修飾符是,則在創(chuàng)建類的實(shí)例時(shí),就可以直接訪問。如果成員變量的修飾符是,則該成員變量只能在類的內(nèi)部訪問。如創(chuàng)建長方體類的成員變量方法如下。說明:通常情況下,類的成員變量都是 ; ; ; . 第10頁,共30頁。自動(dòng)屬性 ; ; 2. 支持成員變量的屬性 ; ; ( 0) = 0; = ; 只讀屬性 2. 只
5、寫屬性 ; ( 0) = 0; = ; 創(chuàng)建屬性(*)說明:屬性的訪問權(quán)限都是4.5類的成員2022/7/30第11頁,共30頁。4.5類的成員例4.4 自定義一個(gè)類,在該類中定義一個(gè)可讀、可寫的屬性,然后在該屬性的訪問器中對屬性的值進(jìn)行判斷,如何的值在18到30之間為合理,對進(jìn)行賦值,否則輸出一個(gè)固定值為20;2022/7/30第12頁,共30頁。3創(chuàng)建方法 通過方法可以封裝一段功能完整的代碼,這樣有利于代碼的復(fù)用性。如計(jì)算一個(gè)圓的面積時(shí),如果我們把計(jì)算公式封裝在一個(gè)方法中,在調(diào)用時(shí)可以通過傳遞不同的半徑參數(shù)而獲取不同的面積。創(chuàng)建方法的語法格式如下所示。作用域返回類型 方法名() 方法體;
6、4.5類的成員第13頁,共30頁。4.5 類的成員例4.5、編寫程序計(jì)算出長方體的體積。在2010中創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序。右鍵單擊項(xiàng)目名稱,在彈出的菜單中選擇“添加”/“類”命令,創(chuàng)建一個(gè)類。在類中創(chuàng)建長方體的成員變量,并創(chuàng)建計(jì)算體積的方法()。主要核心代碼: 創(chuàng)建類 ; ; ; () 定義返回值類型為型的方法 ; = * * ; ; 第14頁,共30頁。4.5 類的成員主程序核心代碼: = (); 初始化對象 = 3.50; = 2.40; = 5.50; (長方體的體積為:0(); (); 在入口程序中初始化對象,設(shè)置對象的屬性,即分別為類中的三個(gè)變量賦值,并調(diào)用()方法求得長方體體積。
7、編譯并執(zhí)行代碼,運(yùn)行結(jié)果如圖所示。第15頁,共30頁。4.6方法中的參數(shù) 參數(shù)是方法中的重要元素,基本語法格式如下所示。 作用域返回類型 方法名(數(shù)據(jù)類型 參數(shù)1,數(shù)據(jù)類型 參數(shù)2,.) 方法體; 一個(gè)方法的參數(shù)可以是一個(gè)或多個(gè),每個(gè)參數(shù)之間用逗號(hào)分隔,每個(gè)參數(shù)必須指明具體的參數(shù)類型。 方法的參數(shù)分為引用類型和數(shù)值類型,引用類型傳遞的是變量在內(nèi)存中的地址,而不是變量的值,數(shù)值類型傳遞的是變量的值;在中引用類型有類、數(shù)組、接口和委托;數(shù)值類型有結(jié)構(gòu)體、枚舉和其它簡單數(shù)值類型等;數(shù)值類型進(jìn)行參數(shù)進(jìn)行傳遞時(shí)如果要傳遞地址,在中通常采用或者關(guān)鍵字進(jìn)行參數(shù)的傳遞。當(dāng)采用或者關(guān)鍵字進(jìn)行傳遞參數(shù)時(shí),這個(gè)參數(shù)
8、就是原數(shù)值或者引用本身(也就是說在函數(shù)體內(nèi)對該參數(shù)的所有操作都是原數(shù)鎮(zhèn)或者引用本身)第16頁,共30頁。1、引用參數(shù)能夠?qū)⒁粋€(gè)變量帶入一個(gè)方法中進(jìn)行改變,改變完成后,再將改變后的值帶出方法(相當(dāng)于是參數(shù)的地址)。參數(shù)要求在方法外必須為其賦值,而方法內(nèi)可以不賦值。4.6 方法中的參數(shù)說明:不管是調(diào)用還是定義帶有參數(shù)的方法時(shí),必須要在參數(shù)先前面加上第17頁,共30頁。 2、輸出參數(shù)如果你在一個(gè)方法中,返回多個(gè)相同類型的值的時(shí)候,可以考慮返回一個(gè)數(shù)組。但是,如果返回多個(gè)不同類型的值的時(shí)候,返回?cái)?shù)組就不行了,那么這個(gè)時(shí)候,我們可以考慮使用參數(shù)。參數(shù)在進(jìn)行參數(shù)傳遞前可以不對其賦值。參數(shù)不要求在方法外必須
9、為其賦值,在方法體中必須賦值,并且參數(shù)只有賦值之后才能對其進(jìn)行相關(guān)操作說明:不管是調(diào)用還是定義帶有參數(shù)的方法時(shí),必須要在參數(shù)先前面加上4.6方法中的參數(shù)第18頁,共30頁。關(guān)鍵字和的區(qū)別關(guān)鍵字和都可以用于參數(shù)的引用方式的傳遞,并且都適合于返回多個(gè)值的應(yīng)用。它們不同之處是哪個(gè)關(guān)鍵字負(fù)責(zé)初始化參數(shù)。如果一個(gè)方法的參數(shù)被修飾,那么調(diào)用代碼在調(diào)用方法之前必須初始化參數(shù),被調(diào)用方法則可以任意選擇讀取該參數(shù),或者為該參數(shù)賦值;而如果一個(gè)方法的參數(shù)被修飾,那么調(diào)用代碼在調(diào)用該方法之前可以不初始化該參數(shù)。引用類型采用或者進(jìn)行修飾時(shí),在采用參數(shù)進(jìn)行傳遞時(shí)傳遞的都是地址,所以對于引用類型不需要加或者關(guān)鍵字。4.6
10、 方法中的參數(shù)第19頁,共30頁。3、可變參數(shù)(*)將實(shí)參列表中跟可變參數(shù)數(shù)組類型一致的元素都當(dāng)做數(shù)組的元素去處理??勺儏?shù)必須是形參列表中的最后一個(gè)元素。4.6方法中的參數(shù)第20頁,共30頁。4.6 方法中的參數(shù)4、方法的重載(*) 方法的重載是實(shí)現(xiàn)“多態(tài)”的一種方法,方法的重載是指調(diào)用同一個(gè)方法名,但各方法中參數(shù)的數(shù)據(jù)類型、個(gè)數(shù)不同。 方法的重載必須滿足以下3個(gè)條件:方法名稱必須相同;形參個(gè)數(shù)不同;相同位置上參數(shù)的數(shù)據(jù)類型不同。說明:當(dāng)一個(gè)方法的方法名稱相同,參數(shù)的個(gè)數(shù)和相同位置上的參數(shù)的數(shù)據(jù)類型也相同時(shí),但方法的返回值不相同時(shí)不但不能構(gòu)成方法的重載,反而會(huì)出錯(cuò)。第21頁,共30頁。4.6
11、 方法中的參數(shù)例4-6創(chuàng)建一個(gè)窗體應(yīng)用程序,實(shí)現(xiàn)通過輸入圓的半徑求得圓的周長,輸入矩形的長和寬求得矩形的周長,求周長的方法采用重載的方式建立,具體做法如下: 創(chuàng)建一個(gè)窗體應(yīng)用程序。 程序界面如圖所示,其中包括五個(gè)標(biāo)簽控件、五個(gè)文本框控件和兩個(gè)按鈕控件,按照由上至下,由左自右編號(hào)。 右鍵單擊項(xiàng)目名稱,在彈出的菜單中選擇“添加”/“類”命令,創(chuàng)建一個(gè)類,類中定義兩個(gè)同名方法(),其中第一個(gè)方法帶有參數(shù)r,第二個(gè)方法帶有參數(shù)a和b,兩個(gè)方法中參數(shù)個(gè)數(shù)不同,能夠?qū)崿F(xiàn)方法重載。第22頁,共30頁。4.6 方法中的參數(shù) ( r) = 3.14; 2 * * r; ( b) 2*(); R = (1); 接
12、收文本框1的輸入數(shù)據(jù)調(diào)用類中的方法求圓的周長賦值給文本框2 2 = (s1(R); A = (3); 接收文本框3的輸入數(shù)據(jù) B = (4); 接收文本框4的輸入數(shù)據(jù)調(diào)用類中的方法求矩形的周長賦值給文本框5 5 = (s1();第23頁,共30頁。4.7 構(gòu)造函數(shù)1構(gòu)造函數(shù)(*)構(gòu)造函數(shù)是一種特殊的函數(shù),用于初始化類和創(chuàng)建類的實(shí)例。構(gòu)造函數(shù)具有與類相同的名稱,它通常初始化新對象的數(shù)據(jù)成員。它是在進(jìn)行類的實(shí)例化時(shí)首先執(zhí)行的函數(shù)。構(gòu)造與普通方法相比,有以下兩點(diǎn)不同:構(gòu)造函數(shù)的名稱必須與類名相同,并且是一個(gè)類可以有一個(gè)或多個(gè)構(gòu)造函數(shù);構(gòu)造函數(shù)不能有返回類型(包括類型)構(gòu)造方法中不能使用語句構(gòu)造函數(shù)的
13、聲明語法格式為:類名(數(shù)據(jù)類型 參數(shù)1,數(shù)據(jù)類型 參數(shù)2,.) 函數(shù)體;說明:當(dāng)一個(gè)類沒有顯示地定義一個(gè)構(gòu)造函數(shù)時(shí),該類有一個(gè)默認(rèn)的無參數(shù)的構(gòu)造函數(shù),但當(dāng)一個(gè)類顯示的定義一個(gè)構(gòu)造函數(shù)時(shí),這個(gè)默認(rèn)的構(gòu)造函數(shù)就不存在了。說明:在同一個(gè)類中一個(gè)構(gòu)造函數(shù)調(diào)用另外一個(gè)構(gòu)造函數(shù)是通過在構(gòu)造函數(shù)的后面加上:(參數(shù)列表)來實(shí)現(xiàn)的第24頁,共30頁。4.7 構(gòu)造函數(shù)例4-7定義一個(gè)直線類和一個(gè)類,這直線類有兩個(gè)構(gòu)造函數(shù),其參數(shù)分別為x1122(代表兩個(gè)點(diǎn)的坐標(biāo))和 p1、p2 (p1和p2分別為類型);由兩字段x,y組成。另外類有一個(gè)計(jì)算器其長度的方法。第25頁,共30頁。成員變量與局部變量重名時(shí),如何調(diào)用成員
14、變量?如何在類中調(diào)用自己的成員方法?如何在構(gòu)造方法中,調(diào)用重載的構(gòu)造方法?這些問題關(guān)鍵字都可以解決!4.8 關(guān)鍵字第26頁,共30頁。1、訪問屬性通過關(guān)鍵字可以明確地去訪問一個(gè)類的屬性,解決與局部變量名稱沖突問題。2、訪問成員方法在類中調(diào)用自己的成員方法,也可以使用關(guān)鍵字,通過“.方法名”的方式調(diào)用3、訪問構(gòu)造方法在同一個(gè)類中一個(gè)構(gòu)造函數(shù)調(diào)用另外一個(gè)構(gòu)造函數(shù)是通過在構(gòu)造函數(shù)的后面加上:(參數(shù)列表)來實(shí)現(xiàn)的4、在中通常采用.產(chǎn)生代碼提示功能4.8 關(guān)鍵字第27頁,共30頁。4.9 析構(gòu)函數(shù)2析構(gòu)函數(shù)(只做了解,可以不用理會(huì))析構(gòu)函數(shù)是在類被刪除之前最后執(zhí)行的函數(shù),用來釋放基于該類創(chuàng)建實(shí)例所占用的資源。在語言中每個(gè)類都有一個(gè)默認(rèn)的析構(gòu)函數(shù),用來在對象被清除時(shí)釋放所分配的內(nèi)存資源。析構(gòu)函數(shù)的表示方法為: .()(對象已
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省南昌市進(jìn)賢一中2025屆高一上數(shù)學(xué)期末復(fù)習(xí)檢測試題含解析
- 2025屆安徽省安慶第二中學(xué)生物高三第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 2025屆金華市重點(diǎn)中學(xué)高三語文第一學(xué)期期末達(dá)標(biāo)檢測模擬試題含解析
- 安徽省三人行名校聯(lián)盟2025屆生物高二上期末質(zhì)量跟蹤監(jiān)視試題含解析
- 安徽省蕪湖一中2025屆語文高三上期末經(jīng)典試題含解析
- 河南八市2025屆高二上數(shù)學(xué)期末綜合測試模擬試題含解析
- 上海市第三女子中學(xué)2025屆高二生物第一學(xué)期期末統(tǒng)考試題含解析
- 山東省青島市城陽一中2025屆高一數(shù)學(xué)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 2025屆廣西壯族自治區(qū)百色市田東中學(xué)高三生物第一學(xué)期期末質(zhì)量檢測模擬試題含解析
- 2025屆河北省石家莊市行唐縣三中生物高二上期末學(xué)業(yè)水平測試試題含解析
- 國網(wǎng)新安規(guī)培訓(xùn)考試題及答案
- 5.1+走近老師(課件)2024-2025學(xué)年七年級(jí)道德與法治上冊統(tǒng)編版
- 湖南省長沙市2023-2024學(xué)年八年級(jí)上學(xué)期期中考試數(shù)學(xué)試卷(含答案)
- 【班主任工作】2024-2025學(xué)年秋季安全主題班會(huì)教育周記錄
- 2024年云南合和(集團(tuán))股份限公司招聘3人高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 2024-2030年中國蛋及蛋制品行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報(bào)告
- +陜西省渭南市富平縣2023-2024學(xué)年九年級(jí)上學(xué)期摸底數(shù)學(xué)試卷
- 2023年法律職業(yè)資格《客觀題卷一》真題及答案
- 《探究與實(shí)踐 交通運(yùn)輸在全球經(jīng)濟(jì)發(fā)展中的作用》課件-2024-2025學(xué)年七年級(jí)地理上冊湘教版
- 《信息技術(shù)基礎(chǔ)與應(yīng)用(第2版)(上冊)》高職全套教學(xué)課件
- 高三生物命題說題比賽一等獎(jiǎng)?wù)n件
評(píng)論
0/150
提交評(píng)論