vb.net作为广泛应用的,构建在.net上的语言,已经是标准的面向对象的开发语言了。oop的思想在vb.net中得到了很好的体现。在vb.net中有三个关键字,那就是public,private,shared。至于public,private和其他的oop语言没有什么区别,这里说一下shared吧。shared在应用的时候,不会产生一个对象:
You need to create an instance of a class (an object) in order to use instance embers,and even then there may be restrictions (Public can be used by anyone,rivate cannot). Shared methods,on the other hand,are known as class members. These are methods and properties/variables that can be used without actually generating an object. In addition,shared methods can be public or private.
当你在编写程序的过程中,需要重复使用某一部分代码的时候,而同时,你不希望产生这个对象的实例,那么你可以把这个对象中你需要调用的方法声明成为shared类型的,这样就能达到你的满足。也许说到这里,用过vb.net和delphi的朋友会问,那不是有点象interface嘛?感觉是很象,但是却不是同一回事,interface类似一个基类,它里面提供的函数或者过程需要在继承的子类里面来具体实现。而shared声明的关键字则不一样的哦。当然在delphi中似乎也提供了这种方式,以class声明的类函数或者过程和这里的shared有异曲同工之妙了。shared的使用例子,比如一个软件中的数据库的连接字符串吧:声明如下:Public Class DatabaseStuffPublic Shared Function GetConnectionString() As String'具体的实现代码End FunctionEnd Class调用:Dim dbString As String = DatabaseStuff.GetConnectionString()以上说了shared的优点,但是过多的使用shared,也会带来很多的麻烦,在vb.net中,过多的使用shared的话,将会导致.net无法清理内存中没有使用的对象,原因是在程序中从来没有构建对象的实例,而程序中的调用只是类或者对象的一个方法而已。从这一点来说,shared在一定程度上破坏了oop的继承和封装的思想。所以在使用shared的时候,一定要注意,不要过多的使用即可。
原文链接:https://www.f2er.com/vb/261046.html