1. 什么是類和對(duì)象?
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出吳堡免費(fèi)做網(wǎng)站回饋大家。
答:類包含某一類對(duì)象的數(shù)據(jù)和過(guò)程。對(duì)象是類的實(shí)例。
2. 為什么采用類和對(duì)象進(jìn)行程序設(shè)計(jì)?
答:以便按照對(duì)象定義類,提高程序代碼的可重用性,避免重復(fù)勞動(dòng)。
3. 在同一個(gè)類中,應(yīng)當(dāng)包括哪些對(duì)象的屬性和方法?
答:同一類對(duì)象的數(shù)據(jù)和過(guò)程。
4. VB程序設(shè)計(jì)主要包括哪兩個(gè)方面的內(nèi)容?
答:Windows應(yīng)用程序界面和代碼。
5. 什么是事件驅(qū)動(dòng)?
答:根據(jù)事件轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理過(guò)程。
1. 控件是窗體上的 對(duì)象 。
2. Visual Basic具有 BASIC程序語(yǔ)言簡(jiǎn)單易學(xué)的 優(yōu)點(diǎn),新增了 可視化和面向面向?qū)ο蟪绦蛟O(shè)計(jì)的 熱點(diǎn),是 Windows編程人員廣泛使用的編程 工具。
3. 對(duì)象的 屬性 是在其類中定義的數(shù)據(jù)。
4. 對(duì)象的 方法 是在其類中定義的過(guò)程。
5. 對(duì)象本身的動(dòng)作或功能稱為 方法 ,外界施加于某對(duì)象的動(dòng)作或操作稱為 事件 。
1.面向過(guò)程
是指從功能的角度分析問(wèn)題,將待解決的問(wèn)題空間分解成若干個(gè)功能模塊,每個(gè)功能模塊描述一個(gè)操作的具體過(guò)程。
2.面向過(guò)程程序設(shè)計(jì)
主要是根據(jù)事務(wù)本身的邏輯過(guò)程進(jìn)行編程的一種方法。
3.面向?qū)ο蟪绦蛟O(shè)計(jì)
是一種計(jì)算機(jī)編程架構(gòu),是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。即按照對(duì)象編寫(xiě)程序。
4.事件驅(qū)動(dòng)程序設(shè)計(jì)
是一種電腦程式設(shè)計(jì)模型。這種模型的程式執(zhí)行流程是由使用者的動(dòng)作或者是由其他程式的訊息來(lái)決定的。
5.函數(shù)
是一種特定的運(yùn)算,在程序中使用一個(gè)函數(shù)時(shí),只要給出函數(shù)名并給出一個(gè)或多個(gè)參數(shù),就能得到它的函數(shù)值
6.過(guò)程
是程序中可以執(zhí)行的一段代碼,過(guò)程包含在一個(gè)聲明語(yǔ)句和一個(gè)結(jié)束語(yǔ)句之間
7.類
是所有具有共同特征的事物的抽象,是一個(gè)抽象的概念(類是一組具有相同屬性特征的對(duì)象的抽象描述,是面向?qū)ο蟪绦蛟O(shè)計(jì)的又一個(gè)核心概念或者類是對(duì)一組對(duì)象共同具有的屬性和行為的抽象,具有封裝和隱藏性、還具有繼承性)。
8.對(duì)象
是一個(gè)屬性集合及其操作的封裝體(對(duì)象是用來(lái)描述現(xiàn)實(shí)世界中客體的部件,是面向?qū)ο筌浖到y(tǒng)在運(yùn)行時(shí)刻的基本單位)。
類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
9.事件
窗體或控件識(shí)別的動(dòng)作
10.事件驅(qū)動(dòng)
根據(jù)事件轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理過(guò)程。
11.屬性
是一個(gè)對(duì)象的特性,不同的對(duì)象有不同的屬性
12.算法
指解決某個(gè)問(wèn)題的嚴(yán)格方法,描述有始有終的計(jì)算過(guò)程。
5.屬性窗口中屬性值被設(shè)置的方式有哪幾種?
6種:輸入 選取 瀏覽 賦值 默認(rèn) 拖動(dòng)
1.程序代碼是由一行一行的 語(yǔ)句 所組成。
3.在程序代碼中可將一個(gè)語(yǔ)句分成兩段的特殊符號(hào)為( _ )。
5.數(shù)值變量如果沒(méi)有設(shè)置初值,則內(nèi)定值為 0 。
7.如果有一個(gè)變量,可能會(huì)存放數(shù)值數(shù)據(jù)或字符串?dāng)?shù)據(jù),此時(shí)可以聲明該變量為 對(duì)象變量。
9. Integer數(shù)據(jù)類型占 4 bytes的內(nèi)存空間,可以表示的數(shù)值范圍為 -2,147,483,648~2,147,483,647 的整數(shù)
3.VB.NET程序語(yǔ)言數(shù)據(jù)類型的種類有哪些?
(1)數(shù)值型
①整形數(shù):短整形(Short)、整形(Integer)、長(zhǎng)整型(Long)
②字節(jié)型(Byte)
③實(shí)型數(shù):?jiǎn)尉刃停⊿ingle)、雙精度型(Double)
④貨幣型(Decimal)
(2)字符型(Char)和字符串型(String)
(3)邏輯型/布爾型(Boolean)
(4)日期型(Date)
(5)對(duì)象型(Object)[即可變型(Variant)]
1.局部變量、全局變量、跨模塊變量分別在何處聲明?其生存期分別是多少?
局部變量在程序內(nèi)聲明。生存期為從所在的程序運(yùn)行開(kāi)始到程序結(jié)束。
全局變量在窗體內(nèi)所有程序的外邊聲明。生存期為由該變量聲明開(kāi)始,一直到程序退出運(yùn)行為止。
跨模塊變量在一般模塊的聲明區(qū)用Public來(lái)聲明。生存期為從一個(gè)Windows應(yīng)用程序項(xiàng)目文件開(kāi)始運(yùn)行到結(jié)束。
3.什么是靜態(tài)變量?
靜態(tài)變量是在離開(kāi)程序時(shí)能夠繼續(xù)保留目前的值,待下回進(jìn)入該程序時(shí)能夠繼續(xù)保留的變量值的局部變量,用Static關(guān)鍵字聲明。
(一)問(wèn)答題
1.請(qǐng)簡(jiǎn)單說(shuō)明在程序中使用程序的好處。
(1)程序可以重復(fù)使用,以方便維護(hù)與程序調(diào)試。
(2)程序可以讓其他工程或項(xiàng)目使用。
(3)程序的邏輯簡(jiǎn)單、明確,可以讓程序變得簡(jiǎn)單且可讀性高。
(4)程序具有模塊化的功能,因此可以將一個(gè)大的應(yīng)用程序分成數(shù)個(gè)小的且不同功能的程序,讓不同的程序設(shè)計(jì)師分別編寫(xiě)?yīng)毩⒉煌δ艿某绦?,并以團(tuán)隊(duì)開(kāi)發(fā),加快應(yīng)用程序開(kāi)發(fā)的時(shí)間。
3.試比較傳值調(diào)用與傳址調(diào)用的差異。
(1)聲明方式不同:
傳值——在程序中的虛自變量之前加上ByVal
傳址——在程序中的虛自變量之前加上ByRef
(2)占用內(nèi)存不同
傳值——調(diào)用程序的實(shí)自變量與被調(diào)用程序的虛自變量占用不同內(nèi)存
傳址——調(diào)用程序的實(shí)自變量與被調(diào)用程序的虛自變量占用同一地址的內(nèi)存,也就是說(shuō),在做參數(shù)傳遞時(shí),調(diào)用程序中的實(shí)自變量是將自己本身的內(nèi)存地址傳給被調(diào)用程序的虛自變量
(3)虛自變量更改結(jié)果不同
傳值——使用傳值調(diào)用可以防止變量被程序修改
傳址——被調(diào)用程序可以通過(guò)虛自變量將值傳回給調(diào)用程序
5.什么是程序多載?
程序多載是使用不同的自變量串行或數(shù)據(jù)類型來(lái)加以區(qū)分相同名稱的程序。
模塊相當(dāng)于一堆公開(kāi)方法的集合,類相當(dāng)于你平時(shí)拖的控件,在vb6里面你想自己寫(xiě)個(gè)控件是很復(fù)雜的,而vb.net里只需要繼承自現(xiàn)有控件即可。就按鈕來(lái)說(shuō)同樣是按鈕類,你可以拖若干個(gè)到界面上,也就是存在若干實(shí)例或?qū)ο?,而模塊,通常只有一個(gè)對(duì)吧,模塊相當(dāng)于c#的靜態(tài)類。
在網(wǎng)上收到一些關(guān)于文件操作的列子,現(xiàn)在和大家分享一下,以下的示例代碼將向您展示如何使用VB.NET FileInfo來(lái)拷貝、移動(dòng)和刪除文件,以及如何使用DirectoryInfo來(lái)移動(dòng)和刪除文件夾。(注意:為了運(yùn)行這些示例,您需要將這條語(yǔ)句:Imports System.IO,添加到您的表單或模塊的最頂部。)
VB.NET FileInfo示例 拷貝一個(gè)文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.CopyTo("C:abc2.txt", True)4. 我們將fFile1變量定義為一個(gè)FileInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了拷貝一個(gè)文件,我們使用FileInfo對(duì)象中的CopyTo方法并指明我們計(jì)劃要拷貝的目標(biāo)文件的全名。 移動(dòng)一個(gè)文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.MoveTo("C:abc3.txt")4. 我們將fFile1變量定義為一個(gè)FileInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了拷貝一個(gè)文件,我們使用FileInfo對(duì)象中的CopyTo方法并指明我們計(jì)劃要移動(dòng)的目標(biāo)文件的全名。 刪除一個(gè)文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.Delete()4. 我們將fFile1變量定義為一個(gè)FileInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了刪除一個(gè)文件,我們使用FileInfo對(duì)象中的Delete方法。 VB.NET FileInfo DirectoryInfo示例 移動(dòng)一個(gè)文件夾 1. Dim dDir1 As New DirectoryInfo("C:Folder1")2.3. dDir1.MoveTo("C:Folder2")4. 我們將dDir1變量定義為一個(gè)DirectoryInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了移動(dòng)一個(gè)文件夾,我們使用DirectoryInfo對(duì)象的MoveTo方法,并指明我們所移動(dòng)的文件夾的完整目標(biāo)路徑。 刪除一個(gè)文件夾 1. Dim dDir1 As New DirectoryInfo("C:Folder1")2.3. dDir1.Delete()4. 我們將dDir1變量定義為一個(gè)DirectoryInfo對(duì)象并設(shè)定它指向文件系統(tǒng)中的一個(gè)目錄,為了刪除一個(gè)文件夾,我們使用DirectoryInfo對(duì)象的Delete方法。) 作者:未知 來(lái)源:網(wǎng)絡(luò)
類,是面向?qū)ο笏枷氲囊粋€(gè)產(chǎn)物。它的用途,就在于把事物高度抽象。比如說(shuō)游戲中的玩家,你可以定義一個(gè)玩家類,這個(gè)類,有自己的屬性和方法,玩家的生命值,等級(jí),金錢(qián),等等等等,它可以有自己的方法,比如,可以跳躍,可以死亡。類,本身并不能存在于內(nèi)存之中,這就解釋了對(duì)象的問(wèn)題。類,實(shí)例化以后,對(duì)象誕生,真實(shí)的存在于內(nèi)存之中。你把一個(gè)玩家類實(shí)例化100次,誕生100個(gè)玩家在游戲中。這個(gè)關(guān)系,你可以簡(jiǎn)單的這么理解。
代碼已測(cè)試。
一、測(cè)試需要的INI文件。名稱為“setinfo.ini”,存放路徑為你解決方案里“Bin“文件夾的”Debug“文件夾里。
內(nèi)容:
[Location]
pnlTime.Location.X=787
pnlTime.Location.Y=0
[TopMost]
Top=True
二、操作INI文件的類。新建一個(gè)類,類中內(nèi)容為:
Public?Class?Class1
Public?Declare?Function?GetPrivateProfileString?Lib?"kernel32"?Alias?"GetPrivateProfileStringA"?_
(?_
ByVal?lpApplicationName?As?String,?_
ByVal?lpKeyName?As?String,?_
ByVal?lpDefault?As?String,?_
ByVal?lpReturnedString?As?String,?_
ByVal?nSize?As?Int32,?_
ByVal?lpFileName?As?String?_
)?As?Int32
End?Class
三、界面代碼:
Imports?System.IO?'for?path
Public?Class?Form1
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
getINI()
End?Sub
Private?Sub?getINI()
Dim?iniclass?As?New?Class1?'
Dim?myBf?As?String?'get?set_info?開(kāi)辟存儲(chǔ)的內(nèi)存
myBf?=?New?String(CChar(""),?256)
Dim?myFN?As?String?'配置文件的文件路徑
myFN?=?Path.Combine(My.Application.Info.DirectoryPath,?"setinfo.ini")
Dim?myAN?As?String?'Application_NAME,也是Section名稱
myAN?=?Me.TextBox1.Text
Dim?myKN?As?String?'KEY_NAME,關(guān)鍵字名稱
myKN?=?Me.TextBox2.Text
Class1.GetPrivateProfileString(myAN,?myKN,?"",?myBf,?myBf.Length,?myFN)?'調(diào)用讀取INI文件的操作
TextBox3.Text?=?Microsoft.VisualBasic.Left(myBf,?InStr(myBf,?Chr(0))?-?1)?'截取有用部分,有必要
End?Sub
End?Class
四、測(cè)試截圖如下
new
就是實(shí)例化,比如實(shí)例化一個(gè)類,你才能訪問(wèn),,
好比,你是張三,把你的地址告訴了我,我在能找到你家在哪,這個(gè)過(guò)程就可以稱為實(shí)例化。
使用New關(guān)鍵字建立一個(gè)新的對(duì)象和用它屬的類來(lái)定義是一樣的。New關(guān)鍵字可以被用作來(lái)建立一個(gè)窗體、類模塊以及集合的實(shí)例。用戶在設(shè)計(jì)的時(shí)候建立的每一個(gè)窗體都是一個(gè)類。New關(guān)鍵字能夠用來(lái)建立一個(gè)類的實(shí)例。
可以通過(guò)以下步驟來(lái)建立一個(gè)類的實(shí)例:
(1)在窗體上畫(huà)一個(gè)按鈕和幾個(gè)其他的控件。
(2)按鈕的Click事件過(guò)程加入以下代碼:
Dim
x
AS
New
Form1
x.Show
(3)運(yùn)行程序,并且點(diǎn)擊幾次按鈕,把最前面的窗體移開(kāi),因?yàn)榇绑w是一個(gè)有可視界面的類,此時(shí)可以看見(jiàn)有很多窗體的拷貝,每一個(gè)窗體具有相同的控件,并且出現(xiàn)在一個(gè)地方。
(4)將列代碼加到按鈕的click事件過(guò)程中:
Dim
f
As
Form1
f=New
Form1
f.text="hello"
f.Show
使用New關(guān)鍵字可以從類模塊中定義的類中建立一個(gè)新的集合和對(duì)象,要知道它們?cè)鯓庸ぷ?,可以參考下面的例子?/p>
(1)建立一個(gè)新的工程,并且在一個(gè)名為Form1的窗體上畫(huà)一個(gè)按鈕控件。
(2)在Project(項(xiàng)目)菜單下,選擇"Add
Class"給工程添加一個(gè)類
(3)把新的類命名為ShowMe.VB
(4)在該新類中加入如下代碼:
PUblic
Class
ShowMe
Sub
ShowFrm()
Dim
frmNew
As
Form1
frmNew=New
Form1
frmNew.Show()
frmNew.WindowState=1
End
Sub
End
Class
(5)在Button1_click事件的過(guò)程中加入如下代碼:Protected
Sub
Button1_Click(Byval
sender
As
System.Object,_
Byval
AS
System.EventArgs)
Dim
clsNew
As
New
ShowMe()
clsNew.ShowFrm()End
Sub
運(yùn)行程序,并且點(diǎn)擊幾次按鈕,將看見(jiàn)每創(chuàng)建一個(gè)ShowMe類的新的實(shí)例時(shí),在桌面上有一個(gè)最小化的窗體的圖標(biāo)。
New關(guān)鍵字只能用來(lái)建立一個(gè)類的對(duì)象,不能建立一個(gè)基于基本的數(shù)據(jù)類型的對(duì)象,例如Integer。而且,不能建立一個(gè)基于一個(gè)具體對(duì)象的對(duì)象。例如,下面的代碼根據(jù)一個(gè)名為SomeClass的類,建立了一個(gè)名為Objx的對(duì)象,面后又錯(cuò)誤地企圖根據(jù)對(duì)象Objx再建立一個(gè)其他的對(duì)象:
Dim
Objx
As
New
SomeClass()
Dim
Objx
AS
New
Objx()
以上代碼是非法的。
呵呵##~