第5章VB NET面向对象的程序设计_第1页
第5章VB NET面向对象的程序设计_第2页
第5章VB NET面向对象的程序设计_第3页
第5章VB NET面向对象的程序设计_第4页
第5章VB NET面向对象的程序设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

第5章面向对象的程序设计知识点1类(Class)和对象(Object)

一般意义上,对象是现实世界中的一个实体,其特征是:每一个对象必须有一个名字区别其他对象;用属性描述对象的特征;用一组操作来描述对象的行为。类是一组对象的抽象,这组对象具有相同的属性结构和操作,或者说,类是对象的“设计图”,它规定对象的框架。根据类的定义可以“构造”出许多对象,而对象就是类的一个实例知识点2命名空间(NameSpace)可以将命名空间想像成文件夹,不同的命名空间内可以定义许多类,在每个命名空间下,所有的类都是“独立”且“唯一”的。一个应用程序中可以包含多个命名空间,一个命名空间下也可以包含其他命名空间。系统类库的顶层命名空间是System。命名空间的使用方式有两种。(P80、81)知识点3封装(Encapsulation)、继承(Inheritance)和多态(polymorphism)

面向对象具有三个基本特征:封装、继承和多态封装就是将数据结构和作用在其上的操作组成一个实体,数据的表示方式和对数据的操作细节被隐藏起来,用户只知道如何通过操作接口对该数据操作,而不知道操作是如何进行的,也不知道数据是如何表达的一个过程。继承从已经定义的一个类中派生出一个新类,这就是继承性。派生类(子类)继承了基类(父类)的数据和操作方法,但派生类又可以定义新的数据和数据方法或者对基类的成员进行重载(重新定义其功能,但方法名称相同)来增加新的功能。多态性多态是指“一种物质的多种形态”,在面向对象的程序设计中,允许程序设计者将父类对象设置成为和一个或更多的它的子对象相等的技术,赋值后父类对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单地说就是不同对象收到相同的消息产生各自不同的行为。例如定义一个交通工具的父类发出运输的消息后,其不同的子类如汽车类和飞机类响应该运输消息的行为是不同的,一个是陆地运输,而另一个则是航空运输。5.2类和对象知识点1类的创建格式如下:[访问修饰符]Class类名 类体EndClass其中,“类体”定义类的变量、属性、事件和方法,它们都称为类成员。类成员也有访问修饰符。属性创建创建属性使用Property语句,因为属性可以有返回值,也可以赋值,分别使用Get访问器和Set访问器,具体语法格式如下:[访问修饰符]|[ReadOnly|WriteOnly]Property属性名([ByVal参数列表])[As类型]Get[语句块]EndGetSet(ByValValueAs类型)[语句块]EndSetEndProperty知识点2对象的定义和使用创建一个对象也称为创建一个类的实例,其语法格式如下:<Dim|Public|Private|Static>对象名As类名对象名=New类名()也可以将二者合一,写成如下形式:<Dim|Public|Private|Static>对象名AsNew类名()对象建立后,可以访问对象的成员(属性、方法等)。设置属性值和获取属性值的语法格式分别如下:对象名.属性值=表达式变量=对象名.属性值使用方法的语法格式如下:对象名.方法()任务5.1和任务5.2在一个项目中。5.3类的继承知识点1继承的实现ClassTestA类成员EndClassClassTestB

InheritsTestA类成员EndClass任务3在任务2的基础上,添加一个窗体,在其中创建一个类,继承自People类,使用该类。并将该窗体设为启动窗体。任务4创建类库创建一个c_shape类,仅作为基类。MustInherit关键字表示该类只能用作基类,不能创建类的实例。5.4方法的多态性知识点1构造函数构造函数是类初使化时所必须使用的一种特殊方法。在VB.NET中,当使用New关键字为一个类创建对象时,VB.NET会使用一个名称为New的过程来初始化这个对象,这个过程就是构造函数。语法格式如下:PublicSubNew([ByVal参数])初始化对象EndSub若类中用户没有定义构造函数,系统会自动为其创建一个默认的空的构造函数。任务5:构造函数的使用知识点2方法重载

重载是一个类中,允许使用相同名称的方法,但这些方法的参数个数、数据类型及顺序上有所不同。实现重载的方法是在声明语句中使用Overloads关键字,语法格式如下:PublicOverloads<Sub|Function>方法名(参数列表)例如用Add方法实现两个整数相加或2个字符串连接,可以如下定义:PublicOverloadsFunctionadd(ByValxAsInteger,ByValyAsInteger)AsIntegerPublicOverloadsFunctionadd(ByValxAsString,ByValyAsString)AsString任务6:利用方法重载实现任务5的功能。知识点3方法重写(覆盖)重写是在不影响基类的情况下,子类对从基类继承的属性和方法可以通过修改和扩充来重新实现。也就是说那些继承来的属性和方法可以根据需要重用它们。通过重写,子类可以重复使用基类中相同的方法和属性,但子类中所包含的代码却可以完全不同。与重载不同,重写方法的参数数量、类型都完全相同,直接代替其所继承的方法

温馨提示

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

评论

0/150

提交评论