第三章 面向对象技术精选文档.ppt
《第三章 面向对象技术精选文档.ppt》由会员分享,可在线阅读,更多相关《第三章 面向对象技术精选文档.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 面向对象技术本讲稿第一页,共六十九页面向对象(Object Oriented)的基本概念Q什么是对象(Object)?Q什么是类(Class)Q类和对象区别与联系本讲稿第二页,共六十九页什么是对象?Q“对象”是事物Q对象有一个身份,该身份用属性定义Q对象还可以做事情,对象所能做的事情称为对象的行为Q对象可以是真实世界的事物,也可以是概念性的事物本讲稿第三页,共六十九页什么是类Q将事物分类进行研究,是人类常用的一种思维方式。Q类通过设定该类中每个对象将具有的属性和行为来提供对象的定义。本讲稿第四页,共六十九页类和对象区别与联系本讲稿第五页,共六十九页对象之间的关系对象的三种基本关系(re
2、lationship)依赖(dependency)关系 泛化(generalization 继承、父子)关系 关联(association)关系 本讲稿第六页,共六十九页依赖关系依赖(Dependency)是一种使用关系,它描述了一个对象的规格说明的变化可能会影响到使用它的另一个对象,但反之不然。本讲稿第七页,共六十九页泛化关系天花病毒流感病毒SARS病毒病毒RNA复制侵害肌体传染性疫苗泛化(Generalization)描述了一般对象和较特殊的对象之间的关系。本讲稿第八页,共六十九页关联关系关联(Dependency)是一种结构关系,它描述了一个对象与另一个对象相联系本讲稿第九页,共六十九页
3、面向对象系统的基本元素Q抽象(Abstraction)Q封装(Encapsulation)Q继承(Inheritance)Q多态(Polymorphism)本讲稿第十页,共六十九页抽象(Abstraction)过滤掉对象的一部分特性和操作直到只剩下你所需要的属性和操作。通过抽象,可以将精力集中在应用程序对象上而不是 实现上。使用户和领域专家能够真正参与到设计中来关注重点本讲稿第十一页,共六十九页封装(Encapsulation)当一个对象执行自己的操作时,它对外界隐藏了操作的细节。接口(Interface)对象总要提供一个“接口”与外部世界建立联系封装通过隐藏对象的内部实现来帮助抽象,即可以使
4、用一个对象而不必理解对象类是如何实现的隐藏私有本讲稿第十二页,共六十九页继承(Inheritance)Q通过使用继承性可以消除冗余属性和行为并获得再利用。Q两类基本的继承:实现继承,属于子类的任意对象自动再利用父类的全部属性和行为(VB6.0以下版本不支持)接口继承,提供了一个接口(属性、行为)的再利用,允许这些属性和行为以不同的方式实现(VB6.0支持)再利用本讲稿第十三页,共六十九页多态(Polymorphism)两个或多个类可以有名字相同、基本目的相同但实现方式不同的行为VB6利用公共接口来实现多态同名行为,不同实现本讲稿第十四页,共六十九页思考Q对汽车思考面向对象的概念(抽象、封装、继
5、承、多态各举一例)Q考虑过去是如何分析和设计程序的,试着用对象和类去具体化你的一个应用程序Q考察在食堂打饭的过程(用饭卡),描述相关对象的属性和行为,以及这些对象之间的关系本讲稿第十五页,共六十九页VB6语言面向对象的特征(一)Q在类模块中定义类 Q用Property过程提供公共访问Q定义多态性方法Q生成事件Q封装类常量Q用Object Browser浏览类Q创建对象本讲稿第十六页,共六十九页VB6语言面向对象的特征(二)Q将窗体用作对象Q使用多组对象Q定义多个接口Q用ActiveX组件说明对象Q开发基于Web的应用程序Q创建C/S应用程序本讲稿第十七页,共六十九页VB6中类与集合的应用Q创建
6、一个类Q使用一个类的实例Q窗体类的使用Q定义类中的常量Q生成和响应事件Q定义集合Q使用集合本讲稿第十八页,共六十九页创建一个类插入一个类模块定义类的属性创建类的方法响应类事件文档化类本讲稿第十九页,共六十九页插入一个类模块启动一个新的工程从工程菜单选择添加类模块设定类名称窗体也是一个类工具箱中的控件也是一个类本讲稿第二十页,共六十九页定义类的属性类属性定义由一个类创建的全部对象的属性声明一个公共变量简单数据类型(Integer、String)抽象类型(Object)用户定义的类型(UDT)不能定义为公共变量最简单,不推荐使用先声明一个私有变量,然后创建Property过程以显露属性 Prope
7、rty过程允许一个类中的属性被声明为私有变量并由公共过程显露本讲稿第二十一页,共六十九页创建Property(一)Q声明一个私有变量Private mvar*注意是 Private 而不是Dim只有类内部的过程可以更改变量值,对应用程序的其它部分隐藏Q创建Property过程Property Get 获取或读入属性值Property Let 设置String、Integer等简单数据类型的属性值Property Set 设置对象数据类型的属性值本讲稿第二十二页,共六十九页创建Property(二)Q多数情况下,类的每个属性有一对Property过程Private mvarDescription
8、 As StringPublic Property Let Description(ByVal vData As String)向属性指派值时使用,位于赋值语句的左边。Syntax:X.Description=5mvarDescription=vDataEnd PropertyPublic Property Get Description()As String检索属性值时使用,位于赋值语句的右边。Syntax:Debug.Print X.DescriptionDescription=mvarDescriptionEnd Property本讲稿第二十三页,共六十九页创建Property(二)Q只
9、使用Property Get限制属性为只读Q只使用Property Let或Property Set限制属性为只写QProperty过程可以包含有效性验证、格式化或其它处理过程Friend Property Let Priority(ByVal vData As Integer)if vData4 thenvData=0end ifmvarPriority=vDataEnd PropertyFriend Property Get Priority()As IntegerPriority=mvarPriorityEnd Property本讲稿第二十四页,共六十九页使用Property的益处Q封装
10、格式化、数据有效性或其它处理过程Q只读Q维护可以只更改Property过程的代码而不更改使用该属性的代码本讲稿第二十五页,共六十九页创建方法类方法定义由一个类创建的全部对象的方法QPrivate方法在类的内部访问QPublic方法在类的外部访问返回值Function不返回值SubQ类方法按正常的Sub或Function过程实现本讲稿第二十六页,共六十九页响应事件两个内置响应事件Initialize提供了执行由类创建的对象初始化的机会Terminate提供了执行任何清除处理的场所本讲稿第二十七页,共六十九页Initialize当由一个类创建对象时,就触发了Initialize事件,所以可用于是首
11、批代码的执行Private Sub Class_Initialize()InitA为只读属性,将初始值设为1mvarInitA=1MsgBox A的初始值&InitA End Sub本讲稿第二十八页,共六十九页Terminate当释放一个对象时,触发Terminate事件可以向Terminate事件中添加代码以解除与此对象相关联的相关对象,或在对象被破坏时应该执行的过程Private Sub Class_Terminate()MsgBox 对象被释放End Sub本讲稿第二十九页,共六十九页文档化类从“工具”菜单中选择“过程属性”从“工程”菜单中选择“添加文件”本讲稿第三十页,共六十九页使用对
12、象浏览器本讲稿第三十一页,共六十九页创建和使用一个类实例(对象)Q声明对象变量Q创建对象Q使用对象属性和方法Q释放对象本讲稿第三十二页,共六十九页声明对象变量声明一个数据类型为对象类的变量Private m_Xq as CStudent使用New关键字声明一个数据类型为对象类的变量 Private m_Xq as new CStudent利用定义为对象的数据类型去声明一个变量 Private m_Xq as Object本讲稿第三十三页,共六十九页创建对象通过使用带有New关键字的Set语句显式地创建对象 set m_Xq=new CStudent通过使用对象而隐式地创建对象 m_Xq.Stu
13、dy通过使用CreateObject函数创建对象本讲稿第三十四页,共六十九页设定、获取对象属性举例说明本讲稿第三十五页,共六十九页释放对象的引用Set Xobject=Nothing本讲稿第三十六页,共六十九页定义类中的常量避免幻数定义局部常量(Const)使用Enum语句(枚举变量)定义全局长整型常量定义字符串常量本讲稿第三十七页,共六十九页集合Q集合提供了一种把一组相关的对象和一个“包含”它们的对象连接起来的方法 Q集合本身是一个对象,并由类来创建,该类称为集合类Q通过将私有的集合对象包装到类模块中,可实现部件的对象模型的集合,这样就定义了一个集合类 本讲稿第三十八页,共六十九页Colle
14、ction 对象示例 Q声明Collection对象QCount 属性 QAdd 方法添加成员 QRemove 方法删除成员 QItem 方法返回特定成员 QFor Each.Next枚举集合Q举例本讲稿第三十九页,共六十九页在VB6.0中创建集合类Q在类模块中定义类(CStudents)Q创建集合对象实例Q向集合类中添加属性和方法Q使用集合类本讲稿第四十页,共六十九页创建集合对象实例Private mColStudents As CollectionPrivate Sub Class_Initialize()创建集合对象 Set mColStudents=New CollectionEnd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 面向对象技术精选文档 第三 面向 对象 技术 精选 文档
限制150内