VB类与对象_VB编程_第1页
VB类与对象_VB编程_第2页
VB类与对象_VB编程_第3页
VB类与对象_VB编程_第4页
VB类与对象_VB编程_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Visual Basic 2005具备了面向对象编程(Object-Oriented Programming,OOP)语言的所有特征。本章探讨了在Visual Basic 2005中运用面向对象原理编程的基本方法。面向对象编程主要具有以下几个优点: (1)维护简单。 (2)可扩充性。 (3)代码重用。第8章 类与对象本章学习目标 (1)熟练掌握类与对象的概念和创建方法。(2)理解命名空间的概念。(3)掌握面向对象程序设计的特征。(4)学会使用With语句。类在面向对象编程技术中,类是重点中的重点。简单地说,类是一种提供一定功能的数据类型,本节介绍类的定义方法、类的成员以及类的特征。1. 类的

2、定义在Visual Basic 2005中定义一个类要用到关键字Class,其语法格式如下: Public | Private | Protected | Friend | Protected Friend Class End Class 类的成员 类的成员包括字段、属性和方法。其中字段和属性表示对象的相关信息,方法表示对象可以采取的操作。例如:Form的ForeColor属性表示窗体的前景色信息,Focus方法表示可以对Form采取设置焦点的操作。 从应用程序的角度看,字段和属性无法区别,但在类中声明它们的方式是不同的,字段只是类中的公共变量,而属性则需使用Property过程控制如何设置和

3、返回属性值。字段成员 类中的字段可以认为是类中的公共变量,下面的代码为CStudent类添加了一个名为Name的字段: Public Class CStudent Public name As String 表示姓名 End Class定义name的关键字为Public,是公共变量,在类外可以直接访问。例如: Dim liMing As New CStudent 定义类变量(即对象)liMing liM = 李明 设置对象 liMing的name为李明属性成员 属性成员是指在类中声明一个局部变量来存储对象的属性值。使用PropertyEnd Property来定义属性,可同时添

4、加权限修饰符(如Public、Shared 等)。 方法成员 方法成员就是类中声明的公共子过程或函数过程。 类的特征 类主要有以下四个方面的特征,它体现了面向对象所共有的特征。 1)封装性 封装是面向对象编程的技术特征之一。封装就是把一个类内部的数据与外部隔绝开来。经过封装的类,其数据不能由外部直接调用和更改,必须通过类的共有属性或方法来调用和更改。这样,这些属性或方法就成了类与外界交换信息的接口。例如前面定义的VB_Score,它是封装在类CStudent中的,它无法直接访问,而必须通过已定义的score属性或grade方法来访问它。利用类的封装性可以实现: (1)隐藏类的实现细节。(2)让

5、使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作。(3)便于修改,增强代码的可维护性;例如:对于一些常用的方法或函数或者一些反复出现的常量变量等,都可以把他放到一个类里封装起来。这样,如果需要修改就很方便了,不用去检查所有出现这些变量或函数及方法的地方了。(4)可进行数据检查。例如:可以在score属性的Get方法中对Value值进行有效性检查,不需直接操作变量VB_Score。 2)继承性 继承是扩展类的一种特性。如果需要完成一些新的功能,当然可以创建一个新类,但如果原有类可以提供一部分用户所需要的功能,就可以创建一个扩充原有类的新类,创建的类称为子类

6、或者派生类,原来的类称为基类或父类。有时,子类和继承也用于描述对类的扩充。在Visual Basic 2005中,一个类只能继承一个父类,多类继承在Visual Basic 2005中是不允许的。 可以通过使用NotInheritable关键字定义不可继承的类,如果扩充这个类就会引起编译错误。为什么要使类不可继承呢?一个原因是不希望别人扩充自己的类,另一个原因是不可继承的类产生的代码运行速度更快。尽管这样,还是应该小心地使用不可继承的类,因为它不符合面向对象编程的初衷,只有在100%肯定不扩充这个类时,才使用NotInheritable关键字使它不可继承。在有些面向对象编程语言中,这些类也被称

7、作最终的类。 重载与多态如果一个标识符具有两个或两个以上的意义,就称其为重载。使用Overrides关键字可以使派生对象重载继承自父类的特性,重载的方法和基类方法的参数是完全相同的,区别在于具体实现上,重载的方法实现中,通常要调用基类的实现方法,此时,只需要在方法名前面指定MyBase关键字即可。 多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而实现“一个接口,多种方法”。继承、重载都是多态性的表现。命名空间 Visual Basic 2005 中的“命名空间”是一种对功能进行组织的很好的方法,其实它们就是建立在整个.NET框架上的一批类,每种.NET编程语言都要使用这

8、些命名空间。命名空间是一种命名方案,帮助用户组织应用程序可用的各种类。可以使用一些被默认引入的命名空间的指令,而不需要键入其全部冗长的前缀,引入命名空间的关键字为Imports,位置为所有代码的最上方。 对象 构造器是类初始化所必须使用的特殊方法,在Visual Basic 2005中,这一方法被称作New。但在前面的代码中可以发现,类中没有定义New这个方法。正是这样,如果类中没有定义构造器,Visual Basic 2005将自动地创建一个构造器,当使用关键字New 对对象进行初始化时,也就调用了类的构造器。当然,也可以自己编写对象在初始化时所运行的代码。 如果在程序中创建了构造器,那么V

9、isual Basic 2005就不会再自动为该类创建构造器了。对象可视为一个单元的代码和数据的组合。它可以是应用程序的一部分,如控件、窗体等,也可以认为整个应用程序是一个对象。 对象是面向对象程序设计的最小元素。此处所指的对象就是类的实例,即类变量。创建类的实例并将该实例分配给类变量的过程称为类的“实例化”,例如: 分配变量LiMing 以引用类CStudent的实例Dim liMing As New CStudent该代码等价于: Dim liMing As CStudent 定义对象LiMingliMing = New CStudent 实例化对象“实例化”是一个过程,通过该过程创建类的实例并将该实例分配给对象变量。任何一个类都必须“实例化”后,才能使用其属性和方法。With语句 为了省略对对象的多次调用,Visual Basic 2005提供了WithEnd With语句。 其语法格式为: With End With说明: 可以是任何的对象,如窗体、控件、自定义类的实例等。 表示对对象的陈述。小结本章介绍了面向对象编程技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论