扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
VB.NET的面向对象功能已经向各个方向扩展,甚至深入到了语言本身——在VB.NET中,一切都是对象。它意味着和以前的VB版本相比,我们从VB.NET本身获得的支持和功能要多得多,求助于Windows API的时候将更少。例如,在以前的VB版本中,我们用LoadPicture方法装入一个图形,用Line方法(或者其他速度更快的API函数)画线;而在VB.NET中,我们用System.Drawing对象创建和处理图形。下面这段代码用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版本相比,VB.NET面向对象的本性以及它对继承的支持使得创建某些类型的应用更加快速和方便。然而,虽然我们可以使用继承以及其他。NET的新功能,比如自由线程,但这些功能并不是一定得使用不可。正如所有其它语言的功能,我们必须使用的功能是那些对给定情形来说最具有意义的功能。
自由线程或许有必要特别说明。VB6允许通过单元线程创建多线程的服务,但VB从来没有支持过创建自由线程的客户程序。VB.NET改变了所有这一切。现在,创建自由线程的应用已经是一件非常平凡和普通的事情。它是如此平凡,以至于完全可以预料有些程序员在为应用加入自由线程时不会理解它的具体细节。启动新的线程只要很少的几行代码——只需把方法的地址传递给线程对象,该方法就会启动一个新的线程。这无疑极为实用和方便,但必须注意的是:这些功能只适合特定的情形,了解哪些情形适用这些功能以及如何恰到好处地运用这些功能属于开发者自己的责任。坦率地说,许多开发者会因为滥用继承和自由线程而给自己带来麻烦,希望这中间并不包括你。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者