学习VBNET中最重要的面向对象编程类与对象.ppt
《学习VBNET中最重要的面向对象编程类与对象.ppt》由会员分享,可在线阅读,更多相关《学习VBNET中最重要的面向对象编程类与对象.ppt(45页珍藏版)》请在三一文库上搜索。
1、第7章 学习VB.NET中最重要的面向对象编程类与对象,以前的VB版本已经有了面向对象的概念,但并不全面。真正的面向对象语言应该支持封装、继承和多态。而随着VB.NET的引入,VB已经是一个真正的成熟的面向对象的语言了。本章将讲述VB.NET面向对象特性中最基本的类与对象。,章节内容,7.1 面向对象的基本概念 7.2 在VB.NET中使用类 7.3 创建和使用对象 7.4 共享成员,7.1 面向对象的基本概念 7.1.1 对象和类,在面向对象的世界里,一切概念上的存在,小至单个整型数或字符串,大至由许多部件组成的系统,均可称作对象。 对象是属性和行为(数据和操作)的封装体,其中还包括和其它对
2、象进行通信的设施,而行为通常称作方法。,类,对象按照不同的性质划分为不同的类。同类对象在数据和操作性质方面具有共性。 在面向对象程序设计语言中,程序由一个或多个类组成。在程序运行过程中根据需要,创建类的对象,即其实例。 因此类是静态概念,对象是动态概念,类是对象之上的抽象。有了类之后,对象则是类的具体化,是类的实例 。,7.1.2 字段、属性、方法和事件,字段(field)和属性(property)都是类用于保存数据的成员。不同之处在于,字段只是类公开的简单变量,而属性可以使用属性过程控制如何设置或返回值。,方法(method)也称作行为(behavior),指定义于某一特定类上的操作与法则,
3、具有同类的对象只可为该类的方法所操作。 换言之,这组方法表达了该类对象的动态性质,而对于其它类的对象可能无意义甚至非法。,事件(event)是指发生的事情。对象可以响应其外部发生的某些事件,以启动某些处理过程。 事件驱动的应用程序是指程序的执行流程是由外部发生的事情来决定的程序。,7.1.3 封装,在面向对象的方法中,所有信息都存贮在对象中,即其数据及行为都封装在对象中。 影响对象的唯一方式,是执行它所从属的类的方法,即执行作用于其上的操作,这就是信息隐藏(information hidding)。,7.1.4 继承,继承是一种使用户得以在一个类的基础上,建立新的类的技术。新的类自动继承旧类的
4、属性和行为特征,并可具备某些附加的特征或某些限制。 新类称作旧类的子类,旧类称作新类的父类。,7.1.5 多态与重载,在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。,(1)重载运算符,同一运算符可用于不同的变量类型,称作运算符重载。 例如,加运算既可用来加两个整数,也可实现浮点数相加,还可以实现字符串相连,甚至可以在程序中定义复数,实现复数相加、复数和整数相加等。 在这些情况下,同样的操作对于不同的参数类型会保持运算功能的透明性。,(2)重载方法,同一方法可作用于不同对象上,并产生不同的结果。例如,OPEN方法既可作用于数据流,也可作用于窗口等。,
5、7.2 在VB.NET中使用类 7.2.1 创建类,在VB.NET中创建类是很容易的,可以有以下3种方法。 作为添加到“Windows应用程序”项目的一个独立类模块。 作为“Windows应用程序”项目的某个窗体模块中代码的一部分。 作为一个独立的“类库”项目。,第一种方法:创建一个用于描述员工的类Employee,首先,我们新建一个应用程序工程,在【新建项目】窗口的【模板】列表框中选择【Windows Form窗体应用程序】,并在【名称】文本框中输入“7-1EmployeeClass”。,单击菜单栏中的【项目】【添加类】命令,打开【添加新项7-1EmployeeClass】窗口,并在【名称】
6、文本框中输入“Employee.vb”。,单击【添加】按钮后,编译器将自动为我们生成了空类的代码。类名默认与类文件名称相同,也可以进行修改。 1 Public Class Employee 2 3 End Class 其中,Class关键字用于声明一个类;Public是该类的访问修饰语,表示该类是公共的,对类内的实体无访问限制; Employee是类的名称,通常选择有意义的能够说明类功能的名称。,第二种方法:在窗体模块中创建类,1 Public Class Form1 2 Form1窗体的代码 3 End Class 4 Public Class Employee 5 Employee类的代码
7、 6 End Class 通过这种方式创建的类,缺点在于这些类只在创建它们的项目中可用。,第三种方法:创建单独的类库项目,单击菜单栏中的【文件】【新建项目】命令,在弹出的【新建项目】窗口中的【模板】列表框中选择【类库】模板,即可创建一个类库项目。,7.2.2 向类中添加属性,向类中添加属性可以采用字段或属性过程两种方式。 还可以用属性的Public、ReadOnly或WriteOnly等修饰符确定属性如何工作。,字段,字段只是类中的公共变量,可以从该类的外部设置或读取这些变量。 对于员工来说,可能会有在职人员和退休人员之分,可以使用一个Boolean类型变量来表示。 下面的代码为Employe
8、e类添加一个Retired字段,类型为Boolean类型,True表示退休,False表示在职。 Public Retired As Boolean,属性过程,属性过程有存储属性值的私有变量的声明、公开该值的Get过程以及设置该值的Set过程3个部分。,例子,下面的代码为Employee类添加firstName属性,用于表示员工的姓。 1 Private firstNameValue As String 2 Public Property FirstName( ) As String 3 Get 4 FirstName = firstNameValue 5 End Get 6 Set(ByVa
9、l value As String) 7 firstNameValue = value 8 End Set 9 End Property,修改Set过程,检查名字是否包含数字。,Set(ByVal value As String) Dim i As Integer Dim numContained As Boolean = False For i = 0 To 9 If value.Contains(i.ToString( ) Then numContained = True Exit For End If Next If numcontained = False Then firstName
10、Value = value Else MessageBox.Show(“First name contains number!”) End If End Set,只读属性,下面的代码为Employee类添加了一个只读属性ID,用于表示员工的编号。 1 Private IDValue As Integer 2 ReadOnly Property ID( ) As Integer 3 Get 4 ID = IDValue 5 End Get 6 End Property,只写属性,下面的代码为Employee类添加了一个只写属性Password,用于表示员工的密码。 1 Private passw
11、ordValue As String 2 WriteOnly Property Password( ) As String 3 Set(ByVal value As String) 4 passwordValue = value 5 End Set 6 End Property,7.2.3 向类中添加方法,类的方法就是在该类中声明的Sub或Function过程。 例如,将员工的姓与名分开,在某些情况下比如按照姓氏排序,比较有用。但大多数时候,还需要使用员工的全名。,下面的代码为Employee类添加一个名为FullName的公共方法,用于返回员工的全名,它由firstNameValue和las
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 VBNET 最重要 面向 对象 编程
链接地址:https://www.31doc.com/p-3255414.html