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. codeforces 442C C. Artem and Array(贪心)

    题目链接: C. Artem and Array time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  2. 前端的瑞士军刀:Modernizr.js

    前言 Modernizr.js既能给老版本浏览器打补丁,又能保证新浏览器渐进增强的用户体验. 作用: 从实际操作来看,Modernizr默认做的事情很少,除了(在你选择的情况下)给不支持html5的标 ...

  3. leetcode-Spiral Matrix II 螺旋矩阵2之python大法好,四行就搞定,你敢信?

    Spiral Matrix II 螺旋矩阵 Given an integer n, generate a square matrix filled with elements from 1 to n2 ...

  4. ExtJS要利用观察者模式 去实现自定义的事件

    // 要利用观察者模式 去实现自定义的事件 //1:由于浏览器他自己能定义内置的事件(click/blur...) // 我们也应该有一个类似于浏览器这样的类,这个类 自己去内部定义一些事件(自定义事 ...

  5. smarty插件开发代替注册插件方法registerPlugin

  6. 如何用chrome插件使上网生活更美好-持续更新

    所有插件都可以到Chrome Web Store搜索下载 1.Read Later Fast v-1.6.8 ***刷网页的时候,有很多值得我们阅览但当时木有时间看怎么办? --加可书签啊! ***可 ...

  7. WCF 异步调用问题

    添加引用时生成"勾选允许生成异步操作" Wcf异步调用三种方式: 第一种:直接调用异步方法 var serviceClient = new MyServiceClient(); s ...

  8. 使用地址栏访问CXF Webservice写法

    /* * 通过url调用 * http://localhost:8080/EFP/webService/TestWebservice/testOut/arg0/liuyx */ http://loca ...

  9. 从Python爬虫到SAE云和微信公众号:二、新浪SAE上搭建微信服务

    目的:用PHP在SAE上搭建一个微信公众号的服务器. 1.申请一个SAE云账号 SAE申请地址:http://sae.sina.com.cn/  可以使用微博账号登陆,SAE是新浪的云服务,时间也比较 ...

  10. 解决 Windows Update 时提示当前无法检查更新,因为未运行服务

    故障:打开“Windows Update”出现红色盾牌图标 点击“检查更新”,出现“Windows Update 当前无法检查更新,因为未运行服务.您可能需要重新启动计算机” 查看“Windows U ...