版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第9章 面向?qū)ο蟮某绦蛟O(shè)計(jì),本章要點(diǎn): 面向?qū)ο蟮幕靖拍?類的定義與對象的聲明 構(gòu)造器和析構(gòu)器 類的共享成員和非共享成員 方法重載及其編程實(shí)現(xiàn) 類的繼承與多態(tài)性的編程實(shí)現(xiàn) 類的屬性的實(shí)現(xiàn),9.1 循序漸進(jìn)學(xué)理論,9.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述 1面向?qū)ο蟪绦蛟O(shè)計(jì)的由來 2面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念 (1)類和對象 (2)屬性、方法與事件 (3)封裝 (4)繼承 (5)重載 (6)多態(tài)性,9.1.2 命名空間,1命名空間的概念 命名空間(NameSpace)是組織類的一種機(jī)制,在NET框架中,有一個(gè)巨大的類庫,該類庫提供了在應(yīng)用程序設(shè)計(jì)中所需的大部分功能。 2命名空間的使用 (1)直接定位命
2、名空間 (2)使用Imports關(guān)鍵字引用命名空間 3命名空間的定義,9.1.3 類和對象的創(chuàng)建,1類的創(chuàng)建 【例9-1】 定義一個(gè)Student類,用來對學(xué)生的信息和功能進(jìn)行描述。假設(shè)學(xué)生具有學(xué)號、姓名、年齡、性別、平均成績等特征,并且具有設(shè)置學(xué)生特征和顯示學(xué)生特征的功能。 2對象的創(chuàng)建 格式:Declare 對象變量名 As New 類名(參數(shù)) 3對象的使用,9.1.4 類成員的種類及其可訪問性,1類成員的分類 常量 域 方法 屬性 事件 構(gòu)造器 析構(gòu)器,2類成員的可訪問性, 公有成員(Public) 私有成員(Private) 保護(hù)成員(Protected) 朋友成員(Friend)
3、保護(hù)友員(Protected Friend) 3類的共享成員和非共享成員,9.1.5 類的構(gòu)造器和析構(gòu)器,1構(gòu)造器 構(gòu)造器(又稱構(gòu)造函數(shù))主要用來為對象分配存儲空間,完成初始化操作(如給類的成員變量賦值等)。 2析構(gòu)器 析構(gòu)器(又稱析構(gòu)函數(shù))是在對象銷毀時(shí)(對象離開作用范圍或被賦值為Nothing時(shí))被調(diào)用,常用來釋放對象占用的存儲空間。,9.1.6 方法及方法的重載,【例9-4】 方法重載的演示。新建一個(gè)項(xiàng)目,為項(xiàng)目添加一個(gè)類模 塊,類模塊中的程序代碼下: Public Class OverTest Public Overloads Function area(ByVal r As Doub
4、le) As Double 求圓的面積,一個(gè)參數(shù) Return (Math.PI * r * r) End Function Public Overloads Function area(ByVal a As Double, ByVal b As Double) As Double 求矩形面積,有兩個(gè)參數(shù) Return (a * b) End Function,Public Overloads Function area(ByVal a As Double, ByVal b As Double, ByVal c As Double) As Double 求三角形面積,有三個(gè)參數(shù) Dim l,
5、s As Double l = (a + b + c) / 2 s = Math.Sqrt(l * (l - a) * (l - b) * (l - c) Return (s) End Function End Class,然后設(shè)計(jì)一個(gè)驗(yàn)證窗體,窗體的設(shè)計(jì)界面如圖9-6所示。在Button1的Click事件過程中輸入如下代碼: Private Sub Button1_Click((省略參數(shù))) Handles Button1.Click Dim shape As New OverTest() 定義類的實(shí)例 Label1.Text = R is 3.0, Area is + CStr(shape
6、.area(3.0) 求圓的面積 求矩形的面積 Label2.Text = A is 3.0,B is 4.0,Area is + CStr(shape.area(3.0, 4.0) 求三角形的面積 Label3.Text = A is 3.0,B is 4.0,C is 5.0,Area is + CStr(shape.area(3.0, 4.0, 5.0) End Sub,圖9-6 程序設(shè)計(jì)界面,圖9-7 程序運(yùn)行界面,9.1.7 屬性及其定義,格式:Dim 變量名 As 數(shù)據(jù)類型 定義存放屬性值的變量 Public|ReadOnly|WriteOnly Property 屬性名() As
7、 數(shù)據(jù)類型 GetGet屬性過程 Return 變量名 End Get Set (Byval Value As 數(shù)據(jù)類型)Set屬性過程 變量名=Value End Set End Property,9.1.8 事件的聲明及其激發(fā),(1)在類中使用Event語句聲明一個(gè)事件。 格式:Public Event 事件名(參數(shù)列表) (2)在類的某個(gè)方法中,使用RaiseEvent語句激發(fā)事件。 格式:RaiseEvent 事件名(實(shí)參列表),【例9-6】 事件的演示。編寫一個(gè)求矩形面積的應(yīng)用程序,程序的設(shè)計(jì)界面如圖9-10所示,程序運(yùn)行時(shí)改變了矩形的寬和高,將立即顯示出矩形的面積,如圖9-11所示
8、。要求:把矩形定義成一個(gè)類,寬和高定義成矩形的屬性。,圖9-10 程序設(shè)計(jì)界面,圖9-11 程序運(yùn)行界面,9.1.9 類的繼承,1繼承的實(shí)現(xiàn) 格式:Class 派生類名 Inherits 基類名 派生類的成員定義 End Class 2窗體的繼承與應(yīng)用,9.1.10 多態(tài)性,多態(tài)性是指同一操作作用于不同類的實(shí)例,這些類 對它進(jìn)行不同的解釋,從而產(chǎn)生不同的執(zhí)行結(jié)果的 現(xiàn)象。 編譯時(shí)的多態(tài)性是通過方法的重載實(shí)現(xiàn)的,由于這 些同名的重載方法或者參數(shù)類型不同或者參數(shù)個(gè)數(shù) 不同,所以編譯系統(tǒng)在編譯期間就可以確定用戶所 調(diào)用的方法是哪一個(gè)重載方法。 運(yùn)行時(shí)的多態(tài)性是通過繼承和重寫來實(shí)現(xiàn)的。,9.2 典型實(shí)
9、例練能力,9.2.1 典型實(shí)例一:Time類的創(chuàng)建與演示 【實(shí)例題目】 編寫一個(gè)名為Time1的類,該類能夠存放時(shí)間信息,并且具有設(shè)置時(shí)間和顯示時(shí)間的功能。然后編程對該類進(jìn)行測試。測試界面如圖9-23所示。,圖9-23 時(shí)鐘類測試界面,9.3 上機(jī)練習(xí)重應(yīng)用,9.3.1 上機(jī)練習(xí)一:棧模型的實(shí)現(xiàn) 【練習(xí)題目】 棧是一種重要的數(shù)據(jù)結(jié)構(gòu),在內(nèi)存中占用連續(xù)的存儲單元。棧有兩個(gè)端點(diǎn),固定的棧底和浮動(dòng)的棧頂。為指示棧頂位置還應(yīng)設(shè)一個(gè)指示成員變量(稱為棧頂指示器)。棧有兩種基本操作:push(壓棧)和pop(出棧),壓棧是向棧頂位置寫入一個(gè)元素,然后使棧頂指示器加1,出棧是先使棧頂指示器減1,再把該位置的元素讀出來。棧及其操作模型如圖9-24所示,sp代表?xiàng)m斨甘酒?。請編程?shí)現(xiàn)棧的模型并對之進(jìn)行測試,測試的界面如圖9-25所示。,圖9-25 棧演示運(yùn)行界面,9.3.2 上機(jī)練習(xí)二:從shape類派生出Rectangle、Circle等具體形狀類,【練習(xí)題目】 定義一個(gè)s
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能制造擔(dān)保合同起訴狀編制指南3篇
- 2025版高端時(shí)尚品牌聯(lián)營開店合同書3篇
- 二零二五年度水上樂園設(shè)施租賃及運(yùn)營管理合同3篇
- 二零二五年度建筑勞務(wù)分包合同施工安全管理3篇
- 2024版雙方男女自愿離婚協(xié)議書
- 2024版物業(yè)與業(yè)主安全停車協(xié)議書
- 多鏈路負(fù)載均衡流量分配設(shè)計(jì)
- 食品加工機(jī)械里的變頻調(diào)速
- 二零二五年度房地產(chǎn)項(xiàng)目居間代理服務(wù)合同范本6篇
- 玻璃、窗簾清洗施工合同
- 職場吐槽大會(huì)活動(dòng)方案
- 《生物質(zhì)熱電聯(lián)產(chǎn)工程設(shè)計(jì)規(guī)范》
- 微波治療技術(shù)的臨床應(yīng)用指南
- 安徽省合肥市廬陽區(qū)部分學(xué)校2023-2024學(xué)年八年級上學(xué)期期末考試英語試題(含答案)
- JTG 3441-2024公路工程無機(jī)結(jié)合料穩(wěn)定材料試驗(yàn)規(guī)程
- 羊肉銷售人員工作匯報(bào)
- 律所標(biāo)書模板
- 安徽省合肥市包河區(qū)四十八中學(xué)2023-2024學(xué)年數(shù)學(xué)七年級第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 美術(shù)概論-課件
- 危險(xiǎn)化學(xué)品安全監(jiān)管執(zhí)法培訓(xùn)課件
- 保潔供方管控要點(diǎn)
評論
0/150
提交評論