深入剖析VB.NET变量的使用

原创 2003年08月29日 07:46:00

    引言:
    VB.NET作为.NET的主要语言之一,在面向对象技术流行的时代被赋予了全新的意义,曾被专业程序设计师所不屑的VB第一次拥有了无穷的能量,完全可以与C/C++ OR C# OR JAVA等媲美!作为一个vb/vb.net的爱好者(开发者),要充分利用VB.NET带给我们的无穷能量,就要弃"把玩"的态度,深入研究,由于本人不是所谓的"专家",如有不妥之处,诚请各位指正.
    正文:
    大家可能会想:对于一个学习过任何一种编程语言的人来说,像常量,变量之类的概念应该再熟悉不过了,但真的是如此吗?本篇文章将就变量的命名规则,作用范围和生存期两部分深入探讨VB.NET变量的使用.

  第一部分:变量的命名规则
  何为变量的命名规则?变量的命名规则就是为了让代码更加易于阅读和维护管理而制定的程序编写的命名准则,下面就以微软建议采用的命名规则进行介绍.
  一般变量应该遵循如下命名规则:
            范围+数据类型+标识名称
  其中范围表示变量的作用范围,如果是公有变量就用小写的g表示(global),局部变量则直接省略不写;
  数据类型则为像Integer,string等数据类型的小写的三码简写.以下列出包含范例数据类型的三码简写表,供大家参考使用.
    数据类型        缩写           范例
     Byte            byt           bytCount
    Boolean          bln           blnIsMale
    Integer          int           intAge
    Long             lng           lngNumber
    Single           sng           sngTax
    Double           dbl           dblIncome
    Short            shr           shrEnployeeNumber
    Decimal          dec           decIncome
    Date             dat           datMyBirthday
    Object           obj           objConn
    String           str           strMyName
    Stucture         udt           udtMyStructure
       注:udt就是英文user define type的简写
  标识名称:变量的主体,建议使用以英文大小写搭配,并以容易记忆,能够代表变量用意的名称,当然前提是标识名称必须是合法的(关于什么才是合法的名称请参考其他的资料),是如自己的名字MyName(按照命名规则就是strMyName).
  依据变量的数据类型来为变量命名,是区分专业与业余程序设计师最简单的判断法则,希望大家能有意识地培养使用这些命名准则的声明变量的习惯.

   第二部分:变量的作用范围和生存期
   VB.NET是一种基于.NET平台面向对象的程序语言,具备面向对象技术的所有特性,在.NET平台下,所有包括数据类型,窗体等都是以类加以实现的,要更好理解变量的作用范围,那么就要以类的观点来看待变量的作用范围和生存期.
   我们先来看看变量的一般声明方式: [Public|Protected|Friend|ProtectedFriend|Private|dim|static|shared]
VariableName as VariableType
  其实变量的作用范围和生存期取决两个因素:变量声明使用了[]中的那个关键字和在何处声明.
  我先来说说我们最常用的几个关键字:Public,Private,dim,static
  Public关键字不能在函数,(事件)过程,区域内部(如:for..next等语句内)使用,一般只能在模块内声明为全局变量,如下的intCount;另外Public在类中声明的是公有变量(成员),表示可以被派生类继承的成员;
 Module module1
    Puplic intCount AS integer
 End Module
   用Private,dim声明的变量都是局部变量,它的范围取决与变量在何处声明.如在窗体声明区声明,则有效范围为窗体内部,以此类推,在(事件)过程,模块内声明,相对应的只有在(事件)过程,模块内有效.如过在类中声明变量,则为私有变量(成员),表示部可以被派生类继承的成员;
   比较特别的是static,它声明的变量叫静态变量,那么什么是静态变量呢?我的说法就是:作用范围和生存期不一致的变量.一般的变量,其作用范围和生存期都是一致的.static声明的变量提供了局部的作用范围和全局的生存期,也就是说,它的可访问的范围取决与它在何处声明所对应的范围,而无论在何处声明,都提供整个程序的生存期(全局).需要注意的是:不能将 Static 修饰符用于结构中的局部变量
  至于Protected,Friend,Protected Friend关键字,则通常用在类中进行变量的声明,Protected(保护)的有效范围介于Public和Private之间:对于类以外的代码,它像私有成员一样无法访问,然而对于继承它的派生类来说,就像公有成员一样可以继承为自己的成员;Friend(友好)的有效范围则比Protected更大,只要是同个项目的文件和类.均可访问,换一种说法,就是程序集范围;Protected Friend则是Protected,Friend的结合:有效范围为派生类和同个项目内的文件.
  还有一个很重要的关键字--shared.它在类中声明的变量叫做共享成员,所谓的共享成员就是在类尚未产生实际的对象前,便可以访问或调用的属性和方法.在这里,我们就拿窗体类Form类来说明,大家在学VB.NET的时候首先要碰到的应该就是窗体了吧,但是窗体是一个类而非对象,那么要使用窗体的一些属性的话拿就要使用它的共享成员.想必大家还知道activeform吧!在这不用我多解释,相信聪明的你一定能够理解吧!

《深入剖析tomcat》读书笔记2

《深入剖析tomcat》读书笔记准备写四篇,这篇是第二篇,分析默认连接器,对应书籍的第四章。第三篇分析容器,第四篇来个纵向总结,顺便回答第一篇开头提出的问题。 第四章  Tomcat默认连接器 ...
  • randyjiawenjie
  • randyjiawenjie
  • 2013年03月23日 17:11
  • 1922

深入剖析Tomcat-第一章

--开始学习Tomcat服务器,学习代码,自己注释一下。 import java.io.File; import java.io.IOException; import java.io.Input...
  • u011345136
  • u011345136
  • 2015年04月24日 20:17
  • 755

深入剖析Tomcat pdf扫描版 [转]

PDF 来源:http://www.jb51.net/books/108505.html 下载:https://pan.baidu.com/s/1xJaZSPDF源码 下载1:http://do...
  • qqduxingzhe
  • qqduxingzhe
  • 2017年12月07日 23:02
  • 218

Inside VCL(深入核心——VCL架构剖析) 》

 原书名: 原出版社: 作者:李维 译者: 书号:7-5053-9489-4页码:706开本:16开版次:1-1丛书名:李维作品系列 出版社:机械工业出版社 出...
  • SStallMan
  • SStallMan
  • 2004年10月19日 22:20
  • 1572

【深入剖析Tomcat笔记】第四篇 默认连接器

回顾前一篇中,我们将ServerSocket拆分为 Connector、 Processor、 Request、 Response 四个部分。实现了对于简单ServerSocket主要功能拆分。Con...
  • wang135139
  • wang135139
  • 2017年04月10日 23:01
  • 902

《Inside VCL(深入核心——VCL架构剖析)》.(李维) 一

一、回到从前:1.1、多任务操作系统是如何设计和实现的? 1.1.1、系统——多个应用程序 方案1:(系统不断读取应用程序状态) 系统通过大型循环(Loop)不断坚持么一个恶用用程序是否触发了特定的事...
  • liang08114
  • liang08114
  • 2016年12月20日 21:03
  • 528

volatile,lock,synchronized

volatile 关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。 vola...
  • kingmax54212008
  • kingmax54212008
  • 2015年11月09日 07:41
  • 788

由底层和逻辑深入剖析c++系列

在2013年大二暑假,我在学完汇编之后又学了一遍c++,准备用汇编反编译一下c++来了解其语言运作的底层奥秘,因此准备写一系列的文章,但是由于时间关系,只写了三篇。现在看这些文章,虽然有的地方写的不成...
  • zhzz2012
  • zhzz2012
  • 2015年06月03日 15:15
  • 807

深入剖析Tomcat读书笔记一

0.介绍  0.1.Servlet 容器是如何工作的       servlet容器是一个复杂的系统。不过,一个servlet容器要为一个servlet的请求提供服 务,基本上有三件事要做:  ...
  • yinxiangbing
  • yinxiangbing
  • 2014年04月24日 12:20
  • 633

VLC源代码学习zz

第一部分 变量及宏定义 1.消息映射宏 vlc_module_begin(); ………………….. vlc_module_end(); 2.结构中包含函数 struct input_thr...
  • feixiaku
  • feixiaku
  • 2014年11月03日 23:05
  • 482
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入剖析VB.NET变量的使用
举报原因:
原因补充:

(最多只允许输入30个字)