1.基本术语

(1) 对象和对象类  
  对象是代码和数据的组合,可以作为一个单位来处理。对象可以是应用程序的一部分,比如可以是控件或窗体。整个应用程序也是一个对象。  
  VB中的每个对象都是用类定义的。用饼干模子和饼干之间的关系作比,就会明白对象和它的类之间的关系。饼干模子是类。它确定了每块饼干的特征,比如大小和形状。用类创建对象,对象就是饼干。类是面向对象程序设计的核心技术,可以理解成一种定义了对象行为和外观的模板;把对象看作是类的原原本本的复制品,类具有继承性、封装性、多态性、抽象性。
  
(2) 属性
  属性是对对象特性的描述,VB为每一类对象都规定了若干属性,设计中可以改变具体对象的属性值。比如窗体的背景颜色、高度与宽度。
  
(3) 事件(Event)
  事件是发生在对象上的动作。事件的发生不是随意的,某些事件仅发生在某些对象上。
  在VB中事件的调用形式是:
  Private Sub对象名_事件名(事件内容)
  End Sub

(4) 方法(Method)
  
  方法指的是控制对象动作行为的方式。它是对象本身内含的函数或过程,它也是一个动作,是一个简单的不必知道细节的无法改变的事件,但不称作事件;同样,方法也不是随意的,一些对象有一些特定的方法。在VB里方法的调用形式是:
  对象名.方法名
 
2. 属性、方法和事件之间的关系
  
  VB 对象具有属性、方法和事件。属性是描述对象的数据;方法告诉对象应做的事情;事件是对象所产生的事情,事件发生时可以编写代码进行处理。
  
  VB 的窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。
  
  日常生活中的对象,如小孩玩的气球同样具有属性、方法和事件。气球的属性包括可以看到的一些性质,如它的直径和颜色。其它一些属性描述气球的状态(充气的或未充气的)或不可见的性质,如它的寿命。通过定义,所有气球都具有这些属性;这些属性也会因气球的不同而不同。
  
  气球还具有本身所固有的方法和动作。如:充气方法(用氦气充满气球的动作),放气方法(排出气球中的气体)和上升方法(放手让气球飞走)。所有的气球都具备这些能力。
  
  气球还有预定义的对某些外部事件的响应。例如,气球对刺破它的事件响应是放气,对放手事件的响应是升空。
  
  在VB程序设计中,基本的设计机制就是:改变对象的属性、使用对象的方法、为对象事件编写事件过程。程序设计时要做的工作就是决定应更改哪些属性、调用哪些方法、对哪些事件作出响应,从而得到希望的外观和行为。

3.事件驱动模型
  
  在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时调用过程。
  
   在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径都是不同的。
因为事件的顺序是无法预测的,所以在代码中必须对执行时的“各种状态”作一定的假设。当作出某些假设时(例如,假设在运行来处理某一输入字段的过程之前,该输入字段必须包含确定的值),应该组织好应用程序的结构,以确保该假设始终有效(例如,在输入字段中有值之前禁止使用启动该处理过程的命令按钮)。
  
  在执行中代码也可以触发事件。例如,在程序中改变文本框中的文本将引发文本框的 Change 事件。如果 Change 事件中包含有代码,则将导致该代码的执行。如果原来假设该事件仅能由用户的交互操作所触发,则可能会产生意料之外的结果。正因为这一原因,所以在设计应用程序时理解事件驱动模型并牢记在心是非常重要的。

4.交互式开发
  
  传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试代码。但是 Visual Basic 与传统的语言不同,它使用交互式方法开发应用程序,使三个步骤之间不再有明显的界限。
  
  VB在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误。看起来就象一位专家在监视代码的输入。
  
  除即时捕获错误以外,VB 也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误,则将错误突出显示于代码中。这时可以更正错误并继续编译,而不需从头开始。
  
  由于 VB的交互特性,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。

面向对象程序设计的基本概念相关推荐

  1. VB.NET面向对象程序设计的基本概念

    一.类和对象 面向对象程序设计(Object-Oriented programming)OOP是一种系统化的程序设计方法,强调直接以问题域(即现在世界)中的事物为中心来考虑问题,并按照这些事物的本质特 ...

  2. java面向对象程序设计(jdk1.6)第三版 目录页数_Java面向对象程序设计/普通高等教育计算机规划教材简介,目录书摘...

    目录: 出版说明 前言 第1章  面向对象程序设计基础 1.1  结构化方法与结构化程序设计 1.2  面向对象方法与面向对象程序设计 1.3  面向对象程序设计的基本概念和特征 1.4  统一建模语 ...

  3. 修练8年C++面向对象程序设计之体会

    面向对象程序设计语言很多,如Smalltalk.Ada.Eiffel.Object Pascal.Visual Basic.C++等等.C++语言最讨人喜欢,因为它兼容C 语言,并且具备C 语言的性能 ...

  4. OOP_面向对象程序设计概述

    李际军老师"面向对象程序设计"课程第一课笔记整理 面向对象程序设计概述 20世纪90年代以来面向对象程序设计(Object Oriented Programming, 简称OOP) ...

  5. C++面向对象(一):面向对象程序设计概述

    C++面向对象:面向对象程序设计概述 会有点长,不过读过就全学会喽!!!!!! 会有点长,不过读过就全学会喽!!!!!! 会有点长,不过读过就全学会喽!!!!!! 1.什么是面向对象程序设计 面向对象 ...

  6. 《面向对象程序设计》课程设计

    一.课程设计题目 结合实际,用面向对象程序设计的思想设计一个应用实例,要求用到下面设计要求中提到的知识点5个以上. 二.设计要求 通过此次课程设计,更好地掌握面向对象程序设计的基本概念及编程方法,进一 ...

  7. C++《面向对象程序设计课程设计》

    C++<面向对象程序设计课程设计> <面向对象程序设计课程设计>课程说明 适用专业:计算机科学与技术 课程周数:5周 一.根据计算机科学与技术专业人才培养方案制订. (一)课程 ...

  8. 《MATLAB面向对象程序设计》

    <MATLAB面向对象程序设计> 基本信息 作者: 苗志宏    马金强 出版社:电子工业出版社 ISBN:9787121233449 上架时间:2014-6-18 出版日期:2014 年 ...

  9. C++面向对象程序设计思想(精)

    转载C++面向对象程序设计思想(精) C++面向对象程序设计 六年前,我刚热恋"面向对象"(Object-Oriented)时,一口气记住了近十个定义.六年后,我从几十万行程序中滚 ...

最新文章

  1. Ping命令 参数介绍!
  2. html页面创建二维数组,二维数组到HTML表?
  3. 达梦数据库操作记录_达梦数据库常用功能及命令记录 -- 持续更新
  4. C语言使用Linked List实现Queue(附完整源码)
  5. python使用作为转义字符_当需要在字符串中使用特殊字符时, Python使用()作为转义字符。...
  6. IDEA 集成Lombok 插件-使用插件
  7. 投巧解决JavaScript split方法出现空字符的问题
  8. python相似图片识别_Python+Opencv识别两张相似图片
  9. Java 递归创建目录
  10. 人设倒了扶起来:Lazarus 组织利用含木马的IDA Pro 攻击研究员
  11. python撤销_python 取消转义字符作用
  12. Linux操作系统中GDB工具常见用法(二)
  13. LINQ分组查询统计
  14. exclips为什么j创建局java出错_clips.BuildRule出错
  15. mysql 存储过程 注入_MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制...
  16. mysql创建gbk库_MYSQL创建utf-8和GBK格式数据库_MySQL
  17. python找不到解释器_为什么pycharm找不到python解释器
  18. 联发科之殇:破碎高端梦
  19. 网易云信七鱼市场总监姜菡钰:实战解读增长黑客在B端业务的运用
  20. python识别魔方色块_解魔方的机器人攻略23 – 识别颜色(上)

热门文章

  1. 【Educational Codeforces Round 10C】【脑洞 SET】Foe Pairs 不含有敌对pair的区间数
  2. nltk与ipython悲伤的故事之内存也许溢出。。。
  3. 用python搜索百度过滤广告_Python净化百度搜索结果!真正的做到无广告环境!-站长资讯中心...
  4. 目标管理最有效的三个模型,不可不知
  5. Hadoop和Spark学习日记4
  6. vue的一个简单案例
  7. 转--DirectX 性能优化
  8. jsonpath安装
  9. Win10无线网络受限制怎么办?
  10. Visual Studio Code——SSH连接Linux环境编程及调试