深入解析VB.NET Object Oriented編程
VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET Object Oriented,每當(dāng)我們提到VB.NET Object Oriented編程時(shí)就好自然想起Class;Class又是何物?有何用處?Class只不過(guò)是用來(lái)形容Object所包容的屬性(Properties),方法(Method)和事件(Event)。除此之外,Class也描述誰(shuí)能與不能執(zhí)行于使用其屬性,方法和事件。
#T#假設(shè)用一輛汽車來(lái)跟Class相比。那Class就是汽車的建造藍(lán)圖;而汽車也就是用此藍(lán)圖所建造出來(lái)的實(shí)軆,也就是說(shuō)Object是Class宣告和建立(instantiate)的實(shí)軆。因?yàn)槠嚀碛袑傩裕ㄩL(zhǎng),寛,顏色等等屬性),方法(啟動(dòng),停止,前往,后退等等方法)和事件(汽油將要用完,防盜系統(tǒng)喇叭響等等事件)。
所以在還沒(méi)開(kāi)始設(shè)計(jì)一個(gè)Class時(shí),我們應(yīng)花多點(diǎn)時(shí)間去了解相關(guān)的商業(yè)問(wèn)題于需求!這樣才能設(shè)計(jì)出一個(gè)***無(wú)瑕的Class,然后應(yīng)用在客戶的商業(yè)解決方案。這也反映怎樣達(dá)到重用同一個(gè)Class(源代碼)在不同的方案了和節(jié)省應(yīng)有得開(kāi)發(fā)資源(員工,時(shí)間和金銭)。。。就是所有投資者和商家最感興趣的一個(gè)項(xiàng)目;世界往往就是如此殘酷。。。身為一個(gè)編程員。。。也只好默默的去接受!
此篇隨筆的重點(diǎn)《VB.NET的Object Oriented編程內(nèi)功心法》。何為內(nèi)功心法?就是用VB.NET Object Oriented編程的最基本的知識(shí),包括如何用VB.NET達(dá)到Inheritance同Polymorphism之效果;有了此基本基礎(chǔ),以后要冩一個(gè)好的Class就像如虎添翼那般容易了。
內(nèi)功心法一:
首先就是要寫(xiě)一個(gè)最基本Class的空殻;只要緊記以下的語(yǔ)法就可以了,能跨出***步。。。就有好的開(kāi)始了。
- Public Class ClassName
- '// ...
- End Class
內(nèi)功心法二:
要怎樣在Class里宣告Data Member;但是往往每一個(gè)Data Member都會(huì)有不同的使用范圍。也就是Public,Private或Protected都有不同的意義。比如:
Public 代表屬性,方法和事件是那里都可以使用,包括此Class的內(nèi)用和外服。
Private 屬性,方法和事件只能使用在此Class的里面。
Protected 屬性,方法和事件只能用于Inherit的Derived Class。
- Public Class ClassName
- [Public | Private | Protected] Variable As DataType
- '// ...
- End Class
內(nèi)功心法三:
加添方法進(jìn)Class里面。方法(Method)可以是Sub(不回遞值數(shù))或Function(回遞值數(shù));有些更會(huì)有Arguement,有多少個(gè)Arguement(自變量串行)就要看此方法的功能而定了。所以一般方法的Prototype就大可冩成:
- Public Class ClassName
- [Public | Private | Protected] [Overloads] [Sub] MethodName (Byval Arguement As DataType, ...)
- '// ...
- End Sub
- End Class
- Public Class ClassName
- [Public | Private | Protected] [Overloads] [Function] MethodName (Byval Arguement As DataType, ...) As DataType
- '// ...
- Return Value
- End Function
- End Class
而Overloads關(guān)鍵字就是用來(lái)建立多個(gè)同名稱但自變量不同的函式,一般是用來(lái)減少函式命名的困憂!