VisualBasicNET應(yīng)用教程電子講稿第九章.ppt_第1頁
VisualBasicNET應(yīng)用教程電子講稿第九章.ppt_第2頁
VisualBasicNET應(yīng)用教程電子講稿第九章.ppt_第3頁
VisualBasicNET應(yīng)用教程電子講稿第九章.ppt_第4頁
VisualBasicNET應(yīng)用教程電子講稿第九章.ppt_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論