| 网站首页 | 模板 | 资料 | 源码 | 工具 | 开发 | 设计 | 安全 | 项目 | 网络 | 图片 | 系统 | 数据库 | 博客 | 会员中心 | 小说 | 
MYFTP 精品资料下载
网络学院
学习资料
源码模版
您现在的位置: 精品下载 >> 开发 >> VB >> 文章正文 用户登录 新用户注册
Visual Basic COM基础讲座之属性            【字体:
Visual Basic COM基础讲座之属性
作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-30

   属性操作很像公共变量,但属性还有更多的控制。

   常用属性通常包括"Get(获取)"和"Let(设置)"两种。这两项操作能规定一个主要属性,就像下面的代码片段:



  Private intAge As Integer
    Public Property Get Age() As Integer
    Age = intAge
   End Property

   Public Property Let Age(ByVal vNewValue As Integer)
    intAge = vNewValue
   End Property
   上述代码的工作方式极像Age变量的操作。当像下面语句操作变量时,

MyDog.Age = 4
   就好比运行Let属性,并将4赋给vNewValue。当像下面语句操作变量时,

MsgBox MyDog.Age
   是获取属性,就好比运行Get属性,并将相应的值由intAge返回。因此,我们可以这样认为:

   所谓Get属性,就是运行后获取某个值;

   所谓Let属性,就是运行后让某个属性等于某个值;

   但至此为止,我们仅仅说明属性工作方式与标准变量极为相似,还没有来得及对属性进行更多的控制。所以,下面就来讨论。

   打开上一节的工程,对CDog类进行如下修改:

   从CDog类中去掉Age变量;

   添加下列代码:

  FACE="Courier" SIZE=2>

   Private intAge As Integer
   Public Property Get Age() As Integer
    Age = intAge
   End Property

   Public Property Let Age(ByVal vNewValue As Integer)
    If vNewValue <= 50 Then
     intAge = vNewValue
    End If
   End Property

   与前面的代码相比,这里只是对Let属性代码作稍加修改。下面对其作小小的测试,假想用户试图想使:

MyDog.Age=30
   也就是运行Let属性,使vNewValue等于30。代码中,还检测vNewValue是否小于或等于50。显然,30是符合要求的,因此实例中的intAge值等于30。但如果超过50,则什么也不会发生,属性退出且没有任何赋值。当然,我们也可以对此给出相应的错误代码或是显示一个提示对话框。

   切换到Form1后面的代码窗口;

   在设置Age属性代码处的第一行语句中单击鼠标,并按F9;

   MyDog.Age = 4

   在获取Age属性代码处的第一行语句中单击鼠标,并按F9;

   MsgBox MyDog.Name & " is " & MyDog.Age & " years old"

   现在让我们测试一下:

   按F5运行程序;

   单击Command按钮;

   代码应该中断在按F9添加的断点的代码行上。

   当代码中断后,按F8单步运行并观察结果;

   现在明白它们是怎样工作的吗?注意Age属性的"get"和"let"是怎样运行的?

   在下一节中,我们不仅要讨论使用更多属性的方式,而且还讨论如何随意创建它们。
文章录入:chqnet    责任编辑:chqnet 
  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    实例分析CSS属性Display与Vi
    内嵌滚动条(windows UpDate风
    HTML Form issue
    内嵌滚动条(windows UpDate风
    Sun联合Genuitec推出GUI工具
    Sun发布NetBeans IDE/BlueJ 
    Application Access Violati
    References and Aliases are
    Curtis Fuller - Sliding Ea
    register_globals使用详解
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)