Visual Basic 语言中的所有对象都有它们自己的属性、方法和事件,其中包括窗体和控件。可以将属性视为对象的特性,将方法视为对象的操作,而将事件视为对象的响应。

日常生活中的对象(如氦气球)也具有属性、方法和事件。气球的属性包括可见特性,例如它的高度、直径和颜色。其他属性 (Property) 描述了它的状态(充气或放气)或不可见属性 (Attribute),如它的使用年限。尽管每个气球的属性值可能各不相同,但是所有的气球都具有这些属性。

气球也具有它可以执行的已知方法或操作。它具有充气方法(在其中充满氦气)、放气方法(放出其中的气体)和上升方法(释放气球)。同样,所有的气球都可以执行这些方法。

气球也可以对特定的外部事件作出响应。例如,气球以放气响应被刺破事件或以上升响应释放事件。

属性、方法和事件


气球具有属性(Color、Height 和 Diameter),可对事件 (Puncture) 作出响应并可执行方法(Deflate 和 MakeNoise)。

属性

如果您想设计一个气球程序,它的 Visual Basic 代码可能类似于以下设置气球属性的“代码”。

Balloon.Color = Red

Balloon.Diameter = 10

Balloon.Inflated = True

注意代码的顺序——对象 (Balloon) 后面是属性 (Color),然后是赋值 (= Red)。可以通过替换不同的值来改变气球的颜色。

方法

气球的方法是按如下方式调用的。

Balloon.Inflate

Balloon.Deflate

Balloon.Rise(5)

此顺序类似于属性的顺序,即对象(名词)的后面跟方法(谓词)。在第三个方法中有另外一个称为“参数”的项,它指定气球将要上升的距离。一些方法具有一个或多个进一步描述所要执行的操作的参数。

事件

气球可能按照如下所示来响应事件。

 
Sub Balloon_Puncture()
Balloon.MakeNoise("Bang")
Balloon.Deflate
Balloon.Inflated = False
End Sub

在这种情况下,代码会描述发生 Puncture 事件时气球的行为。发生此事件时,将使用“Bang”(所发出噪音的类型)参数调用 MakeNoise 方法,然后调用 Deflate 方法。由于气球已经不再充气,所以 Inflated 属性设置为 False。

尽管实际上您无法对一个气球编写程序,但是您可以编写 Visual Basic 窗体或控件。作为程序员,您责无旁贷。您可以决定应该更改哪些属性,应该调用哪些方法或应响应哪些事件来实现想要的外观和行为。

VB中的属性、方法和事件概念解析的更多相关文章

  1. js中__proto__, property, prototype, 对象自身属性方法和原型中的属性方法的区别

    __proto__: 这个属性是实例对象的属性,每个实例对象都有一个__proto__属性,这个属性指向实例化该实例的构造函数的原型对象(prototype). proterty:这个方法是对象的属性 ...

  2. C#中实现VB中的CreateObject方法

    经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等.虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但 ...

  3. SSM-SpringMVC-10:SpringMVC中PropertiesMethodNameResolver属性方法名称解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 上次的以继承MultiActionController可以实现一个处理器中多个处理方法,但是局限出来了,他们的 ...

  4. javascript中DOM0,DOM2,DOM3级事件模型解析

    DOM 即 文档对象模型. 文档对象模型是一种与编程语言及平台无关的API(Application programming Interface),借助于它,程序能够动态地访问和修改文档内容.结构或显示 ...

  5. HTML5的Video标签的属性,方法和事件汇总

    <video>标签的属性 src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览 ...

  6. BackgroundWorker类中主要属性、方法和事件

    属性: 1.CancellationPending             获取一个值,指示应用程序是否已请求取消后台操作.通过在DoWork事件中判断CancellationPending属性可以认 ...

  7. 在C#中使用属性控制 XML 序列化来解析XML

    今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样. 我就又补习了一下. 分享一下学习成果吧. 示例代码下载: http://download.csdn.net/deta ...

  8. VB 中 NumericUpDown 控件 如何为手动输入设定触发事件

    Private Sub numDuration_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) ...

  9. 【转】VB中应用DDE

    动态数据交换(dde)是windows应用程序间通讯的基本方法之一,在动态数据交换的过程中,提供数据和服务的应用程序称为服务器,请求数据或服务的应用程序则称为客户. dde交谈是由客户程序启动的.如果 ...

随机推荐

  1. EasyUI中页面必须刷新才显示tree组件最新数据的BUG解决方案

    在URL地址后面加个时间戳,这样就避免从浏览器缓存里读取数据了 $("#devtree").tree({ url: '/Deviceinfo/ModelsTree.aspx?cmd ...

  2. window下查看TCP端口连接情况

    window下查看TCP端口连接情况:netstat -ano -p tcp|findstr 10001

  3. wireshark添加ip.id字段

    wireshark添加ip.id字段 为了在多个设备上追踪同一个数据包. 如果是同一个会话,则可以计算延迟, 如sta和应用服务器慢,这种问题,可以根据这个加上ip.id追踪数据到哪里慢了.    

  4. 通过spring,在项目的任意位置获取当前Request

    需要引入: import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.R ...

  5. SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则

    初始选择结果 select * from WordDictionary 下面是按照汉字拼音排序 select * from WordDictionary order by word collate C ...

  6. LeetCode:Word Break(DP)

    题目地址:http://oj.leetcode.com/problems/word-break/ 简单的动态规划问题,采用自顶向下的备忘录方法,代码如下: class Solution { publi ...

  7. 网络封包分析工具Charles使用

    网址:http://www.charlesproxy.com/ 截取网络封包的工具. 简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议, ...

  8. 关于UITextView / String的尺寸

    关于UITextView以及String的尺寸动态获取 iOS7开始,UITextView设置text后不会立即反映到contentSize属性,而是在父容器layoutSubviews时进行cont ...

  9. [渣翻译] 在ASP.NET MVC WebAPI项目中使用 AngularJS

    原文地址http://blog.technovert.com/2013/12/setting-up-angularjs-for-asp-net-mvc-n-webapi-project/ 我们最近发布 ...

  10. 微信小程序开发:Flex布局

    微信小程序页面布局方式采用的是Flex布局.Flex布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局.Flex布局提供了元素在容器中的对齐,方向以及顺序,甚至他们 ...