选择显示字体大小

vb.net面向对象的实现(4)共享或类成员

共享或类成员

随着对象的功能越来越强大,我们有时想访问一些变量、函数或者程序而不需要一个实际的对象实例。在以前,我们可以键入这类型的代码到一个代码模块中,而不管程序是否跟一些类有关。

共享方法

vb.net中我们有了一个较好的改变。不仅一个类可以拥有所有正常的方法和属性(这些方法和属性可以由创建类的实例来实现)而且它们可以拥有一些不需要创建类的实例的方法,这些方法就是本教程要介绍的共享方法。这些方法在其它的编程语言中也称为静态方法或者类方法。

一个共享方法不能作为一种普通的方法,通过一个对象的实例来访问,而是可以从类直接访问。下面是共享方法的一个简单的例子:

public class math

shared function add(byval a as integer, byval b as integer) as integer

return a + b

end function

end class



我们可以不用实例化一个math对象,就可以访问,代码如下:

dim result as integer

result = math.add(5, 10)

现在请再仔细看看,这里我们不是使用一个变量,而是直接使用类的方法。如果用通常的方法就将导致错误,但是利用了共享方法一切都变得可以接受了。

共享方法不仅可以通过通常的方法来访问而且可以在不需要创建一个对象的条件下提供访问的功能。实际上,当一个共享方法被调用的时候,没有任何对象被创建,它就象再模块中的一个程序可以直接被调用。

共享方法和其它普通的方法一样也可以被重载,所以可以利用相同的共享方法来创建一系列变化的方法,每一种方法有不同的参数列表。

共享方法的缺省的辖域是public。我们也可以载声明中将共享方法设置为friend、protected或者private。实际上,当重载方法的时候,只要参数列表不同我们就有不同的作用域。

究竟共享方法是如何使用的呢,下面我们看看一个例子。当我们想为输入打开一个文本文件的时候,我们可以在file类中使用一个共享代码,如下:

dim infile as streamreader = file.opentext(words.txt)

dim strin as string

str = infile.readline()

这里没有任何的类型的文件被创建。opentext方法是一个共享方法,它打开一个文件并且返回一个streamreader对象。另外一个例子来自system.guid数据类型。这个类描述了一个全局的独特的用户id(guid)数值,但是我们可以通过一个共享方法来创建一个新的方法。

dim guidid as guid()

guidid = guid.newguid()

这个newguid方法是直接从guid类中调用的。它创建了一个新的guid对象并且返回一个数值。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons