版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5章章 面向对象面向对象 的程序设计的程序设计 知识点知识点1 类(类(Class)和对象)和对象(Object) v一般意义上,对象是现实世界中的一个实体,一般意义上,对象是现实世界中的一个实体, 其特征是:其特征是: 每一个对象必须有一个名字区别其他对象;每一个对象必须有一个名字区别其他对象; 用属性描述对象的特征;用属性描述对象的特征; 用一组操作来描述对象的行为。用一组操作来描述对象的行为。 v类是一组对象的抽象,这组对象具有相同的类是一组对象的抽象,这组对象具有相同的 属性结构和操作,或者说,类是对象的属性结构和操作,或者说,类是对象的“设设 计图计图”,它规定对象的框架。根据类
2、的定义,它规定对象的框架。根据类的定义 可以可以“构造构造”出许多对象,而对象就是类的出许多对象,而对象就是类的 一个实例一个实例 知识点2 命名空间(NameSpace) v可以将命名空间想像成文件夹,不同的命名可以将命名空间想像成文件夹,不同的命名 空间内可以定义许多类,在每个命名空间下,空间内可以定义许多类,在每个命名空间下, 所有的类都是所有的类都是“独立独立”且且“唯一唯一”的。一个的。一个 应用程序中可以包含多个命名空间,一个命应用程序中可以包含多个命名空间,一个命 名空间下也可以包含其他命名空间。名空间下也可以包含其他命名空间。 v系统类库的顶层命名空间是系统类库的顶层命名空间是
3、System。命名空。命名空 间的使用方式有两种间的使用方式有两种 。(P80、81) 知识点知识点3 封装(封装(Encapsulation)、继承)、继承 (Inheritance)和多态()和多态(polymorphism) v面向对象具有三个基本特征:封装、继承和多态面向对象具有三个基本特征:封装、继承和多态 v封装封装 就是将数据结构和作用在其上的操作组成一个实就是将数据结构和作用在其上的操作组成一个实 体,数据的表示方式和对数据的操作细节被隐藏体,数据的表示方式和对数据的操作细节被隐藏 起来,用户只知道如何通过操作接口对该数据操起来,用户只知道如何通过操作接口对该数据操 作,而不知
4、道操作是如何进行的,也不知道数据作,而不知道操作是如何进行的,也不知道数据 是如何表达的一个过程。是如何表达的一个过程。 v继承 从已经定义的一个类中派生出一个新类,这 就是继承性。派生类(子类)继承了基类 (父类)的数据和操作方法,但派生类又可 以定义新的数据和数据方法或者对基类的成 员进行重载(重新定义其功能,但方法名称 相同)来增加新的功能。 v多态性 多态是指“一种物质的多种形态”,在面向对象的 程序设计中,允许程序设计者将父类对象设置成为 和一个或更多的它的子对象相等的技术,赋值后父 类对象就可以根据当前赋值给它的子对象的特性以 不同的方式运作。简单地说就是不同对象收到相同 的消息产
5、生各自不同的行为。例如定义一个交通工 具的父类发出运输的消息后,其不同的子类如汽车 类和飞机类响应该运输消息的行为是不同的,一个 是陆地运输,而另一个则是航空运输。 5.2 类和对象 v知识点知识点1 类的创建类的创建 格式如下:格式如下: 访问修饰符访问修饰符 Class 类名类名 类体类体 End Class 其中,其中,“类体类体”定义类的变量、属性、事件和方法,定义类的变量、属性、事件和方法, 它们都称为类成员。类成员也有访问修饰符。它们都称为类成员。类成员也有访问修饰符。 属性创建 v创建属性使用Property语句,因为属性可以有返回值,也可以 赋值,分别使用Get访问器和Set访
6、问器,具体语法格式如下: v访问修饰符|ReadOnly|WriteOnly Property 属性名(ByVal 参数列表)As 类型 vGet v 语句块 vEnd Get vSet(ByVal Value As 类型) v 语句块 vEnd Set vEnd Property 知识点2 对象的定义和使用 创建一个对象也称为创建一个类的实例,其语 法格式如下: 对象名对象名 As 类名类名 对象名对象名=New 类名()类名() 也可以将二者合一,写成如下形式: 对象名对象名 As New 类名()类名() 对象建立后,可以访问对象的成员 (属性、方法等)。 v设置属性值和获取属性值的语法
7、格式分别如下: 对象名对象名.属性值属性值=表达式表达式 变量变量=对象名对象名.属性值属性值 v使用方法的语法格式如下 : 对象名对象名.方法方法() v任务5.1和任务5.2在一个项目中。 5.3 类的继承 v知识点1 继承的实现 Class TestA 类成员类成员 End Class Class TestB Inherits TestA 类成员类成员 End Class v任务3 在任务2的基础上,添加一个窗体,在 其中创建一个类,继承自People类,使用该 类。并将该窗体设为启动窗体。 v任务4 创建类库 创建一个c_shape类,仅作为基类。 MustInherit关键字表示该类
8、只能用作基类, 不能创建类的实例。 5.4 方法的多态性 v知识点1 构造函数 构造函数是类初使化时所必须使用的一种特殊方法。 在VB.NET中,当使用New关键字为一个类创建对象 时,VB.NET会使用一个名称为New的过程来初始化 这个对象,这个过程就是构造函数。 v语法格式如下: Public Sub New(ByVal 参数) 初始化对象 End Sub 若类中用户没有定义构造函数,系统会自动为其创建一个默 认的空的构造函数。 任务任务5:构造函数的使用:构造函数的使用 知识点知识点2 方法重载方法重载 v重载是一个类中,允许使用相同名称的方法,但这些 方法的参数个数、数据类型及顺序上
9、有所不同。 v实现重载的方法是在声明语句中使用Overloads关键字, 语法格式如下: Public Overloads 方法名(参数列表) v例如用Add方法实现两个整数相加或2个字符串连接, 可以如下定义: Public Overloads Function add(ByVal x As Integer, ByVal y As Integer) As Integer Public Overloads Function add(ByVal x As String, ByVal y As String) As String 任务任务6:利用方法重载实现任务:利用方法重载实现任务5的功能。的功能。 知识点3 方法重写(覆盖) v重写是在不影响基类的情况下,子类对从基类继承重写是在不影响基类的情况下,子类对从基类继承 的属性和方法可以通过修改和扩充来重新实现。也的属性和方法可以通过修改和扩充来重新实现。也 就是说那些继承来的属性和方法可以根据需要重用就是说那些继承来的属性和方法可以根据需要重用 它们。通过重写,子类可以重复使用基类中相同的它们。通过重写,子类可以重复使用基类中相同的 方法和属性,但子类中所包含的代码却可以完全不方法和属性,但子类中所包含的代码却可以完全不 同。同。 v与重载不同,重写方法的参数数量、类型都完全相与重载不同,重写方法的参数数量、类型都完全相 同,直接代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业砂石运输合同标准范本
- 2025年中国贯叶连翘提取物行业发展前景及投资战略咨询报告
- 2025保姆聘用合同格式范本
- 广东省阳江市江城区2024年中考语文二模考试卷含答案
- 社会其他安全服务项目可行性研究报告技术工艺+设备选型+财务概算+厂区
- 2024-2025年中国软件园区市场运行态势及行业发展前景预测报告
- 2024-2027年中国船舶融资租赁行业市场运行现状及投资战略研究报告
- 2025年中国奥曲肽行业调查研究及投资战略规划研究报告
- 2025年玻璃纤维及其制品项目可行性研究报告
- 2024信息化学品制造市场前景及投资研究报告
- 血栓弹力图 (课件)
- 人行梯笼专项施工方案
- 死因监测工作总结
- 边防知识讲座
- 分子病理学题库
- 《肾病综合征》课件
- 护理给药制度课件
- 基于单片机的火灾报警系统设计
- 培智三年级上册生活语文期末测试卷(A)
- GB/T 13296-2023锅炉、热交换器用不锈钢无缝钢管
- 新加坡学习汇报
评论
0/150
提交评论