当前位置:文档之家› VB第1章编程思想

VB第1章编程思想

VB第1章编程思想
VB第1章编程思想

第一章https://www.doczj.com/doc/7a5046535.html,编程思想

1.1组件编程

VB程序开发的基本流程是:界面设计(放置窗体和控件)――属性设置(设置窗体、控件的属性)――编写代码――运行调试。其优点是在窗体上添加控件并设置属性后就可完成界面的设计使程序员轻易的就可完成界面的设计,而无需过多的进行设计和编程。只需调用预先准备好的、经过测试的、完全就绪的模块就可完成所需实现的功能。这种备用性的软件模块被称作――组件。窗体和各种控件就是组件。

VB编程的核心思想就是组件编程。VB是最早引入组件编程的概念,其后被其它语言所采用并成为一种标准,如VC++、Delphi、PowerBuilder都采用组件编程模型,并采用面向对象编程技术,成为当今程序设计的发展方向之一。

VB编程时,因为使用组件技术,所以不必从底层的窗体、控件开始设计,可以向工厂通过各种部件组装生产机器一样,通过微软或第三方提供的组件,组装成所需的程序。用什么组装?就是用VB的代码,其作用就像胶水一样,用有限的代码和组件联结成一体。最后形成一个完整的应用程序。

如果没有现成的组件或需要创建一个新类时,就需要编写代码。组件的种类很多,有多少组件可用,各组件有什么作用,这需要在实践中不断摸索。

1.2组件、类和对象

1、组件:就是事先开发好的、经过测试的、可重用的软件模块,如封装好的类。

VB中大部分组件是以类的形式提供的(如工具箱中的按钮、文本框等)。

2、类

把具有某些共同的属性、事件、方法的对象抽象出来就称作类。

类就像一个饼干模子,可以复制出很多具有相同形状,相同口味的饼干。模子在面向对象的程序设计中就是类,复制出的饼干就是由类创建出的对象。即对象是类的一个实例。

在有很多个命令按钮的窗体上,每个按钮的事件代码不同,但他们有共同的事件(Click),共同的外观属性和方法。它们是同一类型的对象,因此可以把它们共同的特征抽象出来,形成一个命令按钮类。

类的特征:

1封装性:

是指把数据和操作这些数据的程序代码封装在一个类的定义中。

它是面向对象技术的核心。

一个对象的属性、方法的代码对程序的其余部分是不可见的。所以能防止不期望的交互和非法访问,保证了程序的安全性和可维护性。

如:标签控件的show方法中的代码是不可见的。

2继承性

表示类与类之间的一种隶属关系。它是一个有力的工具。在父类实现的功能,在子类中就自动地获得该功能。这样可避免为子类重新编写同样代码的重复劳动。

子类可以继承并保持父类中的所有特征和功能。但也可修改、重置甚至取消有父类继承来的某些功能和特征,使父类的功能在子类中有所“变异”。也可在子类中增加父类所没有的特征和功能,使子类有更多的特征和功能。子类的任何变化都不能影响他的父类。

③多态性:

在面向对象程序设计中,多态性是指定义具有功能不同,但包含的属性、方法具有相同名称的多个类的能力。多态性是面向对象编程的精华,它可使用同名的项(属性或方法),而不用考虑这些项属于那个类。具体调用哪个方法取决于向方法所传递参数的数量和类型。

类和对象及属性、方法、事件的关系

类与对象的区别:类是对象的抽象,是生成对象的模板,对象是类的实例,是类的具体表现。

类和对象及属性、方法、事件的关系:

属性:对象所具有的一组特征。类对象如:按钮的Name,Text,Font 等属性

事件:能被对象识别的动作。

如:按钮的Click,LostFocus

方法:对象要执行的动作。

如:按钮的重画Refresh,显示Show 用户可根据基类定义具有不同功能的子类,从而获得具有该子类功能的对象。

对象是面向对象程序设计方法的中心,整个程序可看作是由若干个对象构成的整体,程序的功能通过操作对象来实现,用户通过对象的属性、事件和方法来访问和处理对象。

https://www.doczj.com/doc/7a5046535.html, 框架

以前,用VB 或其它编程语言编写的类框架只适用于单机或C/S 结构的应用程序,随着Iternet 技术的成熟和广泛应用,老框架的局限性更趋明显,为此微软公司全力开发了.NET 框架。

所谓.NET Framework ,从技术上讲就是一个类库,这个库以树状组织,设计人员通过精巧的设计安排,整合了大部分的Windows

产生包含按钮类按钮控件

API,从而让开发者不仅可以轻松地开发基于Windows的应用程序。更主要的是用来开发基于下一代Internet应用的,特别是对于B/S 模式的网络程序开发、移动开发、数据库开发、Web Services开发都提供了很好的支持。因此,.NET的优势也在internet这方面。

应用了.net框架的https://www.doczj.com/doc/7a5046535.html,不仅仅局限于internet软件的开发,通过调用.NET框架中的类或组件,仍可保持强大的开发独立软件的能力

.NET框架是独立于语言的,支持多种语言(现已超过20多种)共享的基础平台。其包含的内容相当丰富。其中包括监视和管理应用程序运行库,以保证不同语言编写的软件可以安全地使用框架中的类。

1.4项目类型

https://www.doczj.com/doc/7a5046535.html,是以项目(Project,也称工程)为单位进行开发的,一个项目对应一个应用程序。根据项目类型的不同,提供了不同的项目类型(或称为模板)。在新建一个应用程序时,必须先选择项目的类型。类型的种类见P4表1-1

1.5一个简单示例

当单击窗体上的按钮时,弹出消息框,并显示“Welcome to VisualBasicNET!”。

1、设计界面

(1)启动VS

(2)打开〔新建项目〕对话框

(3)在〔项目类型〕中选Visual Basic项目,在右侧〔模板〕选“Windows应用程序”图标。

(4)系统默认创建一个Form1窗体,在窗体中添加一个命令按钮控件。

2、设置属性

按钮的Text属性设为“Hello”。

3、添加代码

双击按钮,为其Click事件加程序代码。

MessageBox.Show(”Welcome to VisualBasicNET!”)

4、测试程序

https://www.doczj.com/doc/7a5046535.html,的新特点

https://www.doczj.com/doc/7a5046535.html,作为新的功能强大的面向对象的编程语言,新增了许多新的功能。

Visual https://www.doczj.com/doc/7a5046535.html,新增功能

继承:

Visual https://www.doczj.com/doc/7a5046535.html,允许为类定义基类。派生类继承并可以扩展基类的属性和方法。还能重载继承所得的方法并可更新。

默认情况下,用Visual https://www.doczj.com/doc/7a5046535.html,创建的所有类都是可继承

的。因设计的窗体实际上就是类,因此可以使用继承基于现有

窗体来定义新的窗体。

继承的目标之一就是允许代码重用。代码重用有两种形式:组件和继承。以前的VB版本就可创建和重用COM组件,而继承在https://www.doczj.com/doc/7a5046535.html,中才实现。

继承和接口允许使用多态性,即允许同名方法或属性可以定义于多个类中,代码在运行时可以区分使用。多态性在面向

对象编程中非常重要,因为它可调用同名方法,而无论当时使

用的是何种类型的对象。

异常处理:

Visual https://www.doczj.com/doc/7a5046535.html,支持使用Try...Catch...Finally语法支持

“结构化异常处理”,结构化异常处理组合了先进的异常控制结

构(类似于Select Case)、保护型代码块和过滤器。使程序更

加稳固而不会轻易崩溃。

重载:

“重载”是定义同名但使用不同数据类型的属性、方法或过程的

能力。利用重载过程可以根据需要提供足够多的实现来处理不

同类型的数据,而表面看来只是一个通用过程。

重写属性和方法:

默认情况下,派生类从基类继承方法。如果继承的属性或方法

需要在派生类中有不同的行为,则可以“重载”它,即可以在

派生类中使用Overrides关键字定义该方法的新实现。重写的

成员具有与基类派生的成员相同的参数。成员的新实现可以通

过成员名称前加MyBase调用父类中的原始实现。

构造函数和析构函数:

“构造函数”是控制类的新实例初始化的过程。反过来,“析构函数”是当类离开范围或设置为Nothing时释放由类实例占用的系统资源的方法。Visual https://www.doczj.com/doc/7a5046535.html,通过Sub New和Sub Finalize过程支持构造函数和析构函数。

数据类型:

Visual https://www.doczj.com/doc/7a5046535.html,引入了三种新的数据类型。Char数据类型是一个无符号的16位数,用来存储Unicode字符。它等效于.NET Framework的System.Char数据类型。Short数据类型是有符号的16位整数,在Visual Basic的以前版本中称为Integer。Decimal数据类型是96位有符号的整数乘以10的可变次数幂。在Visual Basic的早期版本中,该数据类型仅在Variant中可用。

接口:(实现多态和实现多继承的有力工具)

“接口”描述类的属性和方法,但和类不同,它不提供实现。

Interface语句可以声明接口,而在中用Implements语句允许为接口成员编写实现代码。(能够将对象的定义与实现分离,从而可以在不破坏现有应有程序的情况下使对象得以发展完善。)

委托:

“委托”代表调用对象方法的对象,每个委托实例都将进一步调用特定对象的某个方法,而对象和方法的选择则是在构造委托

实例时决定的。因此,委托有时被描述为类型安全、面向对象的函数指针。委托可以用于事件处理和多线程应用程序。

共享成员:

共享成员是由一个类的所有实例共享的属性、过程和字段。当多个对象需要使用公共信息时,共享数据成员很有用。可以直接使用类名引用共享方法,而无需首先从类创建对象实例。引用:

“引用”允许使用其他程序集中定义的对象。在Visual https://www.doczj.com/doc/7a5046535.html,中,引用指向程序集,而非类型库。

命名空间:

“命名空间”通过按照层次结构组织类、接口和方法来避免命名冲突。

程序集:

“程序集”代替了类型库,它能够描述特定组件或应用程序所需的所有文件。一个程序集可以包含一个或多个命名空间。

多线程编程:

Visual https://www.doczj.com/doc/7a5046535.html,允许编写独立执行多任务的应用程序。所谓“多线程处理”是将可能延迟其他任务执行的任务放在一个独立线程中运行。由于可以使用与用户界面独立的线程运行复杂任务,因此,多线程处理提高了应用程序对用户输入的响应能力。

除了增加了上述新的功能外,还有以下新的语言功能:自定义属

性和公共语言规范(CLS)。

公共语言规范(CLS)是一套规则,他标准化了数据类型和内部对象被其它外部对象使用的方式。符合CLS的语言都可使用由https://www.doczj.com/doc/7a5046535.html,创建的类、组件和对象,同样,https://www.doczj.com/doc/7a5046535.html,也可访问其它符合CLS语言创建的类、组件和对象,使符合CLS的语言间的引用无需考虑语言间的差别、是无缝的。

相关主题
文本预览
相关文档 最新文档