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