网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VB编程 >> 文章正文
  VB.NET模块的总结(一)精简版            【字体:
VB.NET模块的总结(一)精简版
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    
Module Module1
  
Public aNew As String  '全局公共成员变量,可以在当前项目的任何类和模块中引用
  'Dim aNew As String  '模块的成员变量(字段)绝对不会出现形如:Public Dim aNew As String 的声明
  Sub Main()
    Console.WriteLine(
"hello, word!")
    aMethod()
    Console.WriteLine(addTwoNumber(
19))
    textInputBoxAndMsgBox()
    
Dim TestWu As New SubNewClass()
    Console.WriteLine(TestWu.testSubNew)
    
Dim TestYou As New SubNewClass("调用有参数构造器")
    Console.WriteLine(TestYou.testCanShuSubNew)
    Console.ReadKey()

  
End Sub
  
'Protected Sub aMethod()  '错误
  'Shared Sub aMethod()     '错误
  Private Sub aMethod()
    Console.WriteLine(
"aMethod")
  
End Sub
  
Sub New() '构造函数
    aNew = "用构造函数初始化aNew成员变量(字段)"
    Console.WriteLine(aNew)
  
End Sub
  
'Private Function addTwoNumber(ByVal a, ByVal b) As Integer  '如果在模块的开始加上了Option Strict On ,则会产生错误,错误提示为: Option Strict On 要求所有变量声明都有“As”子句,如果在模块的开始加上了Option Strict Off或者什么都不加, 则可以通过。
正在装载数据……

  Public Function addTwoNumber(ByVal a As IntegerByVal b As IntegerAs Integer  '和过程一样,同样不能用Protected和Private修饰函数
    'Return a + b '与下面等价
    addTwoNumber = a + b '与上面等价,这个是VB6返回值的语法,直接让函数名等于返回值
  End Function
  
Sub textInputBoxAndMsgBox() '测试InputBox和MsgBox函数
    Dim userName As String
    userName 
= InputBox("请输入一个名字:""测试InputBox和MsgBox")
    
MsgBox(userName, , "测试InputBox和MsgBox")
  
End Sub
End Module

Class SubNewClass
  
Private _testSubNew As String = "调用默认构造函数(即无参数构造函数)" '为配合属性定义的
  Public testCanShuSubNew As String '一个公共字段,可以在该类外面被访问
  Sub New() '无参数构造器

  
End Sub
  
Sub New(ByVal X As String'有参数构造器
    Me.testCanShuSubNew = X
  
End Sub

  
Public Property testSubNew() As String  '定义一个属性
    Get
      
Return _testSubNew
    
End Get
    
Set(ByVal value As String)
      _testSubNew 
= value
    
End Set
  
End Property
End Class
'VB中的过程包裹子过程(Sub)和函数过程(Function),其实完全可以把过程称为方法或者函数

'过程和函数都可以接受参数
'
过程(又称子过程)不能有返回值 
'
函数(又称函数过程)可以有返回值,而且返回值加在函数声明的后面,用As实现

'VB中的类默认提供一个无参数构造器,所以你不必在代码里显示定义一个无参数构造器就可以用无参数构造器实例化该类。但一旦在类中定义了一个有参数构造器,你就必须显示定义一个
'
无参数构造器,才能用无参数构造器实例化该类

'模块可以有构造函数,该构造函数在Main函数中会最先被执行
'
模块不能实例化 模块不可继承 模块被隐式的共享(内部成员都是Shared类型,相当与C#中的static)
'
模块的成员不用提供Module名称就可以被访问。既你可以直接用成员的名字访问该成员
'
模块的成员是全局共享的,你可以在程序的任意位置访问这些成员
'
带有Mani()方法的模块可被编译成EXE文件,而不需要提供任何额外的信息指定应用程序的入口点
'
模块可以有Main()函数也可以没有Main()函数
'
通过模块的全局成员变量,我们可以实现B/S结构里面的Session,来判断用户的登陆状态,这个我已经在一个项目实现

'后记:因为以前有过VB6的开发经验,我觉得VB.NET中的模块是为了最大限度的兼容VB6而保留的,不过就模块式编程来说,我还是比较喜欢,C#中没有模块的实现,而VB.NET满足了的体验
 


本文来源:http://blog.csdn.net/Terry001/archive/2007/08/27/1761281.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     如何在ado中使用connect…
     vb 贪吃蛇 单人版游戏 (…
     关于在vb中进行com组件的…
     用vb6.0编写自我升级的程…
     vb自动登陆网络站点详解…
     vb打造超酷个性化菜单(…
  • Sevrlet 中防止中文乱码策略

  • (JSP)在文本域中显示超链接n…

  • genexus中对字符串的格式补空…

  • SIP简介,第2部分:SIP SERV…

  • JavaWeb中的Session、Sessio…

  • tomcat下配置jspservletbean…

  • .net程序员的盲点(八):泛…

  • OpenCV在VC.net,VC6.0等中的…

  • 同步租塞SOCKET编程

  • 内存管理内幕--Jonathan Bar…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David