第9章面向对象的程序设计文档格式.docx
- 文档编号:19581933
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:7
- 大小:19.57KB
第9章面向对象的程序设计文档格式.docx
《第9章面向对象的程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《第9章面向对象的程序设计文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
①〈类说明修饰符〉包括Public、Private、Friend和Shared等,用来说明访问权限。
默认值是Public。
②类名是由程序员自己定义的合法的字符串,每个类说明都必须有类名。
③每个类中,代码都必须有关键字Class和EndClass对应,使用该关键字的目的是为了在一个源文件中包含多个类。
④在〈类主体〉中编写程序代码。
9.1.2类的声明
类的成员可以分为两类:
类本身所声明的和从其他基类中继承的。
类的成员有以下几种类型:
①成员常量。
类中的常数。
②成员变量。
类中声明的变量。
③成员方法。
用于执行一定操作或动作的子过程或函数。
④成员属性。
用于设置和检索类中密切相关的数据值。
⑤成员事件。
用于感知发生了什么事情,是类对外界的响应。
⑥构造方法。
用于完成类的初始化工作。
⑦共享成员和共享方法。
可以跨类存在,相当于一类对象的全局变量和全局方法。
⑧基类。
如果一个类是从另一个继承而来的,那么该类就包含它的父类。
⑨接口。
对象与其他对象交互的接口。
9.1.3类的成员
名称空间是.NET环境的核心,因为它提供了把相关类组织到逻辑组中,使这些类更容易于查找和管理,增加了程序代码的可读性和可维护性。
名称空间是类的一种组织结构,它将父类命名为名称空间,即赋予某个名称,所有由它衍生的子类都是这个名称空间的成员,每个下一级的子类也都拥有自己的子名称空间,因而构成呈树状分布的一个名称空间集合。
用户也可以自己声明一个名称空间。
VB.NET中名称空间使用块结构来定义。
NameSpace[〈名称空间别名〉]
ClassClass1
...
ClassClass2
EndNameSpace
9.1.4类和名称空间
成员变量和程序的一般变量一样,需要先声明。
对于成员变量,主要通过以下几个关键字来控制变量的作用域:
①Private:
仅适用于声明它的类中的代码。
②Friend:
仅适用于声明它的工程和组件中的代码。
③Protected:
仅适用于继承于类的类。
④Public:
适用于类外的代码,具有最大的开放性。
9.1.5创建成员变量
可以创建成员的属性。
[〈访问权限〉]Property〈成员名称〉As〈成员类型〉
Get
ReturnPrivate_Value
EndGet
Set
Private_Value=Value
EndSet
EndProperty
9.1.6创建成员的属性
方法是对象执行的动作,是在类中编码的子过程或函数。
它可以利用自身的数据,处理生成输出结果或者执行服务程序的信息。
既然方法是类中的子过程或函数,那么就使用Sub和Function关键字来实现方法。
[〈访问权限〉]〈方法类型〉〈方法名〉([〈成员列表〉])
…
Return〈方法类型〉
9.1.7创建成员的方法
事件为类和类的实例即对象提供的向外界发出通知的能力。
通过事件,对象可以响应用户的操作,与用户进行交互。
在类中创建事件的语法格式为:
[〈访问权限〉]Event〈事件名称〉(〈参数列表〉)
publicSub〈方法名称〉
RaiseEvent〈事件名称〉
EndSub
9.1.8创建成员的事件
1.共享方法
在VB.NET中,一个类不仅可以拥有所有常规的方法和属性,还可以拥有一些不需要创建类的实例方法,这些方法就是共享方法。
一个共享方法不必像通常那样通过对象实例来访问,而可以更直接地从类中访问。
2.共享成员
有时候类的所有实例都需要共享一个数值,这是就需要一种称为共享成员来实现。
共享成员实际就是类中定义的一个特殊变量。
共享成员和共享方法一样,都用Shared来定义。
但共享成员的访问权限和共享方法不一样,它的默认访问权限是Private。
9.1.9共享方法和共享成员
VB.NET使用New语句来创建对象,用户可以在任何地方使用New语句。
利用New语句可以创建VB.NET提供的对象,也可以创建用户自定义的对象。
例如,创建一个VB.NET提供的对象,代码如下:
DimObjectLabelAsLabel
ObjectLabel=NewLabel
或
DimObjectLabelAsNewLabel
对象与普通变量一样,具有一定的类型、具有一定的作用范围。
该段代码首先声明一个对象,再通过New方法实例化了一个对象,接着就可以在程序中使用对象的属性、方法和事件俩。
创建用户自定义对象。
如果不想使用某一个对象,还可以取消对该对象的引用,即将对象设为空。
9.2对象的生命周期
9.2.1创建对象和取消引用对象
1.对象的属性
改变对象的属性就可以改变对象的特征。
对象的属性分为4类:
只读属性、只写属性、读写属性和集合属性。
只读属性是只能在运行阶段读取的属性;
只写属性是使用对象的,必须写入的属性,而用户无法读出它的值;
读写属性是在运行阶段可以设置、也可以读取属性值的属性;
集合属性包含着一类相似的属性值或项目,它们还具有自己的属性和方法。
2.对象的方法
对象的方法可以直接使用。
VB.NET会自动在方法名后加一对括号“()”。
方法可以有参数,也可以不带参数。
3.对象的事件
对象的事件也可以直接使用。
当创建了一个对象后,可以在代码编辑器窗口的“方法名称”下拉列表框中选择,也可以从键盘输入。
9.2.2对象的使用
取消对象的引用,只是将该对象设为空对象,而该对象还在内存中存在,还可以继续使用,只不过是暂时在内存中被挂起。
VB.NET使用名为“垃圾收集”方案来终止对象。
在特定的时间,一个任务会在所有的对象中运行来查找哪些已经没有被引用的对象,并且将这些对象终止,这就是所谓的垃圾收集。
因为VB.NET是以事件为驱动的,所以没有确定性结束,不能预计何时终止对象。
直到垃圾收集程序运行之后才将它从内存中清除。
垃圾收集的主要优点是它清除了由引用计数器带来的循环应用问题。
如果两个对象相互有引用,并且在程序中没有其他相互引用的代码时,垃圾收集程序就会发现它们并将它们终止。
垃圾收集还有一个潜在的优点:
在对象被取消引用的时候不用化许多的精力在终止对象上,以减少对用户的影响。
9.2.3对象的终止
继承的最大好处就是可以实现代码复用,子类从父类中继承各种特征,只要在子类中添加自己的特性代码就可以形成新的类。
基本继承的语法格式为:
PublicClass〈类名〉
Inherits〈父类名〉
9.3继承
9.3.1基本继承
在默认状态下,创建的任何类都是可以用做基类。
但有时需要创建一个不能被继承的类,这时可以在类的声明中使用NotInheritable关键字:
PublicNotInheritableClassHeadMaster
……
EndClasss
使用NotInheritable关键字以后,其他代码都不能再使用Inherits来创建一个由这个基类继承而来的子类。
也可以限制继承父类中的部分方法和变量。
通常当通过继承创建子类的时候,子类从父类中继承了全部的Public和Friend的属性、变量和方法。
如果在父类中声明了一个Private的方法和变量,那么在它的子类中就不能得到这个类的方法和变量。
9.3.2限制继承
在.NET环境中实现跨语言继承是非常容易的。
.NET环境为用户提供了不同语言编写的组件之间相互调用的良好平台。
VB.NET可以创建处理代码,这些代码是运行在.NET框架上的。
所有的管理代码可以和其他类型的处理代码交互作用,而不管用户是用什么编程语言来创建的。
实际上,许多的.NET系统类库是在C#上编写的,而用户在上编写VB.NET程序的时候,可以继承这些类,将这些类作为基类使用。
9.3.3跨语言继承
VB.NET的继承特性不仅仅局限与代码方式的继承,而且支持可视化继承,也就是指当用户用Windows窗体和控件等创建一个新的窗体,通过继承用户可以得到和这个窗体具有相同布局、控件和行为的窗体。
也可以通过可视化继承创建自己的Windows控件。
在VB.NET中窗体是一个类而不是一个实例,用户编写的Windows应用程序,是通过不断向类中添加对象、属性、方法和事件等代码完成的。
向Windows应用程序添加一个继承的窗体和添加一个新的窗体是没有区别的。
单击系统菜单“文件”的“添加新项”选项,进入“添加新项”对话框。
选择“Windows窗体”选项,单击“打开”按钮,就向Windows应用程序添加一个继承的窗体。
这种可视化继承可以称的上是所见即所得,这样可以大大提高编程的效率。
9.3.4可视化继承
多态性是指当两个或两个以上的类具有相似的属性或方法的情况下,编译程序自动根据这些属性和方法找到相应对象的能力。
多态性通常与继承有关,即多态性常常伴随着对类的继承及重载而存在。
此外,多态性还可以存在于独立的类中,即不相干的类之间也可以利用多态性来实现对一些接口的共享。
程序重复定义的概念创造了多态性的对象。
程序重复定义的方法是:
子类重复定义父类的程序。
由于父类、子类的继承关系,子类是父类的一种,所以父类和子类的大部分功能都是相似的,但还是有一定差别的。
也就是父类和子类的对象有不同的行为。
9.4多态性
接口也称为界面,相当于一种特殊化的类。
在这种类中只定义了一系列的属性、方法和事件,而没有更多的程序操作代码。
就好像是一个空房子只有一个框架,只要往里面放一些家具,就可以住人,成为一个真正意义上的家了。
具体的讲,任何类的本地接口都是由所有的类本身的属性、方法、事件或除了Private声明的私有成员外的所有成员组成。
例如,在一个类中声明了一个方法:
PublicSubSimpleMethod()
在这个方法中没有任何代码。
这就是接口,而任何代码都成了一种实现方法而不再是接口的一部分。
9.5接口
在VB.NET中还存在一种重要的引用类型——模块(Module)。
它与类非常相似,可以用来封装数据和程序。
模块的语法格式为:
Module〈模块名称〉
EndModule
模块主要是为应用程序提供全局变量和全局方法。
模块可以包括以下成员:
①成员变量:
与类中的成员变量非常相似。
②成员方法:
与类中的方法非常相似,也包括Sub方法和Function方法。
对类模块的成员的访问权限有:
①Public公有类型:
此时的变量和方法相当于类中的全局变量和共享方法。
适用于项目中的所有代码。
②Private私有类型:
只适用本模块内使用,任何的模块外部的对象都不能访问。
模块可以通过系统菜单选项添加到应用程序中。
选择系统菜单“文件”的“添加新项”,进入“添加新项”对话框。
选择“模块”选项,单击打开按钮即可向应用程序添加模块。
这时,“解决方案资源管理器”窗口会出现一个扩展名为“.vb”的文件。
然后就可以向模块中添加代码了。
9.6模块与类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 面向对象的程序设计 面向 对象 程序设计