包含vbado.net的词条( 三 )


假定你的对话框有一种标准的格式,例如在表单的一侧有一行按钮,并在角上有一个标
识,那么,通过可视化继承你能创建一个表单模板(类),并从这个基类里导出所需的表
单 。
一切都是对象
代码复用简化了开发过程 , 像实现和可视化继承这样的功能有利于更简单、更强大
的代码复用 。然而,代码复用并不是到此为止 。你能通过支持VB.NET的通用语言运行库
(Common Language Runtime - CLR)继承在其它 VS.NET 语言里定义的类 。例如 , 你或别
人创建了一个 C# 类,然后就能从 VB 里继承它 。
VB.NET 的面向对象能力扩展了语言本身的通路:一切都是对象 。这意味着比在以前
的 VB 版本里,你获得了更多的内在功能,你将很少被迫使用 Windows API 。例如,在
以前的 VB 版本里,你使用 LoadPicture 方法加载图片并使用表单的 Line 方法(或较
快的 API) 画线 。现在,你使用 System.Drawing 对象来创建并处理图形 。你可以使用
以下代码在表单上显示一幅图片:
picshowpicture.Image = _
system.Drawing.Image.FromFile( _
"c:\test.bmp")
注意 VB.NET 的“一切都是对象”方式让你的语句能用得更长久 。
考虑以下语句,它在一个图形对象上画一条黄绿色的线:
objgraphics.DrawLine(system.Drawing. _
Pens.Chartreuse, 0, 0, 100, 100)
这些长长的语句也有好处:改进的功能、适应性和易用性 。从前 , 你要实现先进的
功能就不得不在文档中挖掘,经常是不得不诉诸API 。现在,相关的功能集符合逻辑地包
含在对象里 。这种处理方式的另外一个好处就是:类把相关的功能很好的组织了起来 。
所以,浏览你感兴趣的对象,发现它们做些什么实际上很有意思 。
Visual Basic.NET 的面向对象功能提供了很多实在的好处 。很多情况下,VB.NET
面向对象的本质和实现的继承性能帮助你比在以前的 VB 版本里更容易、更迅速地创建
特定类型的功能 。然而,你不一定要仅仅因为你能做到,就使用实现继承性或其它 .NE
T 功能 。VB.NET 的新功能使开发许多类型的应用程序变得更简单!但是,就像使用所有
的语言能力一样 , 你需要使用的是在特定场合下最适合的功能 。
自由线程的危险
对于自由线程可能需要特别给出警告 。VB6允许你使用独立的线程来创建多线程服务
器程序,但VB过去从来没有让你能创建自由线程的客户端程序 。VB.NET 改变了这一切 。
现在,创建自由线程应用程序几乎成了最微不足道的事情 。实际上,我估计那些没有理
解其中的微妙差别,就在他们的应用程序里添加了自由线程的程序员会遇到很多问题 。
只需要几行代码就能启动一个新线程:简单地将线索对象的地址传递给方法,方法本身
就会启动线程 。这确实是很酷也很有用的东西,但你需要小心:这些功能适用于特定的
场合,确定哪些是适用的场合并且明智的使用这些工具则是你自己的事 。许多开发者使
用继承性和自由线程时给自己找了不少麻烦,请不要让这些发生在你身上 。
可能大家讨论得最多的 VB.NET 特征就是 CLR (通用语言运行库),VB 运行在它的
顶层上 。是 CLR 提供了 VB.NET 的许多关键功能 。例如 , CLR 使实现和跨语言继承性以
及自由线程成为可能 。
分发VB程序要求你同时分发VB的运行库,在VB6里即是msvbvm60.dll 。许多其它语言
也有类似的要求,包括 C++ 和 Java 。在Visual Studio.NET里,所有的Visual Studio

推荐阅读