知识大全 VB.NET的Object Oriented编程内功心法
Posted 知
篇首语:鸟欲高飞先振翅,人求上进先读书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 VB.NET的Object Oriented编程内功心法相关的知识,希望对你有一定的参考价值。
VB.NET的Object Oriented编程内功心法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
每当我们提到Object Oriented编程时就好自然想起Class Class又是何物?有何用处?Class只不过是用来形容Object所包容的属性(Properties) 方法(Method)和事件(Event) 除此之外 Class也描述谁能与不能执行于使用其属性 方法和事件 假设用一辆汽车来跟Class相比 那Class就是汽车的建造蓝图 而汽车也就是用此蓝图所建造出来的实軆 也就是说Object是Class宣告和建立(instantiate)的实軆 因为汽车拥有属性(长 寛 颜色等等属性) 方法(启动 停止 前往 后退等等方法)和事件(汽油将要用完 防盗系统喇叭响等等事件) 所以在还没开始设计一个Class时 我们应花多点时间去了解相关的商业问题于需求!这样才能设计出一个完美无瑕的Class 然后应用在客户的商业解决方案 这也反映怎样达到重用同一个Class(源代码)在不同的方案了和节省应有得开发资源(员工 时间和金銭) 就是所有投资者和商家最感兴趣的一个项目 世界往往就是如此残酷 身为一个编程员 也只好默默的去接受! 此篇随笔的重点《VB NET的Object Oriented编程内功心法》 何为内功心法?就是用VB NET冩Object Oriented编程的最基本的知识 包括如何用VB NET达到Inheritance同Polymorphism之效果 有了此基本基础 以后要冩一个好的Class就像如虎添翼那般容易了 内功心法一 首先就是要写一个最基本Class的空壳 只要紧记以下的语法就可以了 能跨出第一步 就有好的开始了 Public Class ClassName // End Class 内功心法二 要怎样在Class里宣告Data Member 但是往往每一个Data Member都会有不同的使用范围 也就是Public Private或Protected都有不同的意义 比如 Public 代表属性 方法和事件是那里都可以使用 包括此Class的内用和外服 Private 属性 方法和事件只能使用在此Class的里面 Protected 属性 方法和事件只能用于Inherit的Derived Class Public Class ClassName [Public | Private | Protected] Variable As DataType // End Class 内功心法三 加添方法进Class里面 方法(Method)可以是Sub(不回递值数)或Function(回递值数) 有些更会有Arguement 有多少个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关键字就是用来建立多个同名称但自变量不同的函式 一般是用来减少函式命名的困忧! 内功心法四 也就是在Class里加添属性(Properties) 有些属性的值数只限于读取而不能冩 有些就之能冩而不能读取 但一般都是两者兼施 Public Class ClassName Private VeriableName As DataType [Public | Private | Protected] [Property] PropertyName ( ) As DataType Get // Return VeriableName End Get Set (ByVal Value As DataType) VeriableName = Value End Set End Property End Class 只能读取值数的属性 Public Class ClassName Private VeriableName As DataType [Public | Private | Protected] [ReadOnly] [Property] PropertyName ( ) As DataType Get // Return VeriableName End Get End Property End Class 只限于冩值数的属性 Public Class ClassName Private VeriableName As DataType [Public | Private | Protected] [WriteOnly] [Property] PropertyName ( ) As DataType Set (ByVal Value As DataType) VeriableName = Value End Set End Property End Class 内功心法五 怎样在Instantiate Class的同时宣告和执行某些函式 例如建立一个新的SqlConnection Object或者宣告变量等等 要达到这一点 我们就利用Class的Constructors函式了 以下就是在Class里添加Constructor函式的语法 Public Class CalssName [Public] [Sub] New ( ) // End Sub End Class 因为此是Object Oriented编程 所以也可以建立多个不同自变量的Constructor函式 但在此就跟编冩Overloads方法(Method)有点不同 那就是不需要用Overloads关键字来表示该函式就是Overloads函式 Public Class CalssName [Public] [Sub] New (Byval Arguement As DataType) // End Sub End Class 内功心法六 有了Contructor当然就要有Destructor嘛 世界所有物軆本来是双双对对 就连Object Oriented编程也一样 否则就不平衡了 而Destructor函式是在系统将要释放Object时所执行 所以一般Destructor都是用来解放在整个Object里所用过(宣告和建立)的资源 Public Class ClassName [Protected] [Overrides] [Sub] Finalize ( ) // End Sub End Class 内功心法七 往往我们会选择宣告Public变量方法和外界(Class与Class之间)分享其值数 但这样共享变量是极不安全也很浪费资源(每一个Class都会宣告自己的变量)!为了更安全 更节省资源和设计一套好的流程控制 我们可以用Shared关键字去达到变量共享而又不浪费资源但又很可靠 也就是在多个Class的Instant里只有一分变量的存在!Shared变量的另一好处就是不用Instantiate该Class也能使用 只需用Class的全名就可一了ClassName Variable Public Class ClassName [Public] [Shared] Variable As DataType // End Class 内功心法八 可以在Class里共享变量 那共享方法也一样 只需在方法(内功心法五)的语法里加上一个Shared关键字 就是那么的简单!但是就要紧记一个重点 Shared方法只能冩和读取Shared变量的值数! Public Class ClassName [Public] [Shared] [Sub] MethodName (Byval ArguementAs DataType ) // End Sub End Class Public Class ClassName [Public] [Shared] [Function] MethodName (Byval Arguement As DataType ) As DataType // Return Value End Function End Class 内功心法九 我想Inheritance也应该是所有VB编程员梦寐以求的另一突破!在过去的VB 编程里是不能真真做到这一点(也只有C/C++才能做到) 现在VB NET就把它一一的实现了 也把所有用VB的编程员带到一个新境界 我想先讲解一下何为Inheritance会对以后的Class编冩比较有帮助 那就拿图一来做个例子 人物 称为Base Class 因为它拥有每个人物应用的属性(身高 軆重 肤色) 方法(站 坐 跑 跳) 事件(痛 哭 笑) 如果用此 人物 (Base Class)演变出两个新的人物(Derived Class)而命名为 学生 和 教师 那此演变也就叫Inheritant了 因为它把所有 人物 的基本属性 方法和事件一一应用在两个新人物 学生 和 教师 里 Inheritant的好处就是可以很有效率的把Base Class的属性 方法和事带到Derived Class里(没有更改)而不需要重冩那么浪费资源 基本上当开始冩一个Class时(内功心法一)就可以用NotInheritable和MustInherit关键字来代表该Class是否能Inherit或者一定要Inherit才可以用(也就是该Class不能用New语法来Instantiate) 而一般Class都是默认Ineritable 不能Inherit的Base Class Public [NotInheritable] BaseClassName // End Class 一定要Inherit才能使用的Base Class Public [MustInherit] BaseClassName // End Class 内功心法十 Polymorphism可以说是Object Oriented编程的最高境界 它也是Inheritance(内功心法九)的另一个突破 这简直是VB编程员的渴望啊 有谁不想学到此境界跟运用在每天闷郁的工作里! Polymorphism有何过人之处?引起人人挣着去学呢?那就要重Inheritance里说起了 我们知道在用Inheritance可以很又效率的由Base Class去演变出一个Derived Class 而不费一分一毫就能完完全全拥有Base Class的属性 方法和事件 但是 但是 往往很多时后 现有的方法(Method)里面的流程代码未必适合每一个Derived Class 就这样 我们需要Polymorphism来补救了 也就是说Polymorphism使我们能够去改冩某一个方法(Method)里的流程代码!是不是很好完呢? 要用Polymorphism此功能 我们先要有一下两个条件 其一 要 cha138/Article/program/net/201311/12052相关参考
VB.NET拖动无边框窗体编程实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Impor
VB.NET编程中调用WindowsAPI 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Windo
VB.Net编程实现WebService的基础 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! W
知识大全 VB.Net编程入门之Hello World(1)
VB.Net编程入门之HelloWorld(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 VB.Net编程入门之Hello World(2)
VB.Net编程入门之HelloWorld(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 VB.Net编程入门之Hello World(4)
VB.Net编程入门之HelloWorld(4) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 VB.Net编程入门之Hello World(3)
VB.Net编程入门之HelloWorld(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
定制VB.NET控件编程之拦截击键动作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一简介
在项目开发中充分体会到了一个精简数据存储模块的重要性及实用性在综合了三年开发经验的基础上向各位推介一下sqlite数据库希望更多的程序猿支持开源精神 &n
VB.NET菜单设计初级入门[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 可视化编程工具