好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

面向对象介绍.ppt

37页
  • 卖家[上传人]:ni****g
  • 文档编号:568540289
  • 上传时间:2024-07-25
  • 文档格式:PPT
  • 文档大小:1,000.50KB
  • / 37 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 面向对象介绍面向对象介绍 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍7.1 面向对象的历史与发展面向对象的历史与发展第七章第七章 面向对象介绍面向对象介绍7.2 面向对象与面向过程面向对象与面向过程7.3 面向对象的主要概念面向对象的主要概念 7.4 面向对象的基本特征面向对象的基本特征7.5 面向对象软件工程方法面向对象软件工程方法2 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍教学目的与要求教学目的与要求⒈⒈了解面向对象发展的几个阶段了解面向对象发展的几个阶段;⒉⒉了解面向对象和面向过程的区别了解面向对象和面向过程的区别; ⒊⒊掌握面向对象的基本概念掌握面向对象的基本概念;⒋⒋了解面向对象的基本特征;了解面向对象的基本特征;⒌⒌了解有关面向对象软件工程方法了解有关面向对象软件工程方法 3 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍教学重点教学重点教学重点教学重点⒈⒈⒈⒈面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念; ; ⒉⒉⒉⒉面向对象的主要特征。

      面向对象的主要特征面向对象的主要特征面向对象的主要特征教学难点教学难点教学难点教学难点⒈⒈⒈⒈面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念4 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍•第一代:机器语言(低级语言):第一代:机器语言(低级语言):–面向机器、可移植性差、效率高、不方便面向机器、可移植性差、效率高、不方便编程编程•第二代:汇编语言第二代:汇编语言•第三代:高级语言:第三代:高级语言:–面向程序员、可移植性好、执行效率低、面向程序员、可移植性好、执行效率低、便于编程便于编程•第四代:面向对象式语言第四代:面向对象式语言•第五代:智能语言第五代:智能语言程序设计语言程序设计语言5 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍7.1 7.1 面向对象历史及发展面向对象历史及发展 雏形阶段雏形阶段雏形阶段雏形阶段完善阶段完善阶段完善阶段完善阶段繁荣阶段繁荣阶段繁荣阶段繁荣阶段6 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍7.2 7.2 面向对象与面向过程面向对象与面向过程 •面向对象技术是一种以对象为基础、以事件或消息面向对象技术是一种以对象为基础、以事件或消息来驱动对象执行处理的程序设计技术。

      它是一种自下来驱动对象执行处理的程序设计技术它是一种自下而上的程序设计方法,而上的程序设计方法, •“面向过程面向过程”是一种以事件为中心的编程思想如传是一种以事件为中心的编程思想如传统的结构化程序设计方法统的结构化程序设计方法 7 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 面向对象面向对象=对象对象( (object) ) +类类( (classification) ) +继承继承( (inheritance) ) +通信通信( (communication with messages) ) 可以说,采用这四个概念开发的软件系统是面可以说,采用这四个概念开发的软件系统是面向对象的向对象的7.3 7.3 面向对象的基本概念面向对象的基本概念        面向对象的方法是一种运用对象、类、继承、封面向对象的方法是一种运用对象、类、继承、封面向对象的方法是一种运用对象、类、继承、封面向对象的方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软装、聚合、消息传送、多态性等概念来构造系统的软装、聚合、消息传送、多态性等概念来构造系统的软装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。

      件开发方法件开发方法件开发方法9 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍面向对象的基本概念面向对象的基本概念 1. 1. 对象(对象(objectobject)) 对对象象是是系系统统中中用用来来描描述述客客观观事事物物的的一一个个实实体体,,它它是是构构成成系系统统的的一一个个基基本本单单位位一一个个对对象象由由一一组组属属性性和和对对这这组组属属性性进进行行操操作作的的一一组组服服务务构构成成对对象象是是属属性性和和服服务务的的结结合合体体,,二者是不可分的二者是不可分的 属属性性((attribute))通通常常是是一一些些数数据据,,有有时时它它也也可可以以是是另另一一个个对对象象每每个个对对象象都都有有它它自自己己的的属属性性值值,,表表示示该该对对象象的的状状态态对对象象中中的的属属性性只只能能通通过过该该对对象象所所提提供供的的操操作作来来存存取取或修改 操操作作((operation))((也也称称方方法法或或服服务务))规规定定了了对对象象的的行为,表示对象所能提供的服务行为,表示对象所能提供的服务。

      10 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍2. 类类((class)) 类是具有相同属性和服务的一组对象的集合类是具有相同属性和服务的一组对象的集合一个类中的每个对象都是这个类的一个实例一个类中的每个对象都是这个类的一个实例((instance) 类是创建对象的模板,从同一个类实例化的类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为每个对象都具有相同的结构和行为11 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍几何对象几何对象颜色颜色位置位置移动(移动(delta:矢量):矢量)选择(选择(P:指针型)指针型):布尔型布尔型旋转旋转(角度角度)图图 对象类的描述对象类的描述人人姓姓 名名:字符串字符串年年 龄龄: 整整 型型改换工作改换工作改换地址改换地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印张红兵张红兵张红兵张红兵28绘图员绘图员人民路人民路8号号李军李军:人人李军李军24程序员程序员无无图图 对象的描述对象的描述对象和类的描述对象和类的描述      对象和类一般采用对象和类一般采用““对象图对象图” ” 和和 “ “类图类图” ” 来描述。

      来描述类名类名属性属性运算运算 对象图对象图 类图类图12 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍轿轿 车车型号:字符串型号:字符串颜色:字符串颜色:字符串牌照号:字符串牌照号:字符串........张经理的轿车张经理的轿车型号型号= =桑塔纳桑塔纳颜色颜色= =红色红色牌照号牌照号= =沪沪AN2037AN2037........类类实例对象实例对象13 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍3.3.封装封装((encapsulation)是一种信息隐蔽技)是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的的内部实现对用户是隐蔽的 封装的目的是使对象的使用者和生产者分离,封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开使对象的定义和实现分开 一个对象通常可由对象名、属性和操作三部一个对象通常可由对象名、属性和操作三部分组成14 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍4.4.继承继承((inheritanceinheritance)) 继承是类间的基本关系,它是基于层次关系继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。

      父类中定的不同类共享数据和操作的一种机制父类中定义了其所有子类的公共属性和操作,在子类中除义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承其父了定义自己特有的属性和操作外,可以继承其父类(或祖先类)的属性和操作,还可以对父类类(或祖先类)的属性和操作,还可以对父类(或祖先类)中的操作重新定义其实现方法或祖先类)中的操作重新定义其实现方法 意义:实现代码的重用意义:实现代码的重用 15 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 矩形矩形长长宽宽对角线对角线计算面积计算面积计算对角线计算对角线 多边形多边形顶点数顶点数顶点坐标顶点坐标计算面积计算面积旋转旋转16 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 抽象类抽象类(abstract class):没有实例的类,它把:没有实例的类,它把一些类组织起来,提供一些公共的行为,但并不一些类组织起来,提供一些公共的行为,但并不需要使用这个类的实例,而仅使用其子类的实例需要使用这个类的实例,而仅使用其子类的实例。

      在抽象类中可以定义在抽象类中可以定义抽象操作抽象操作,抽象操作指:,抽象操作指:只定义这个类的操作接口,不定义它的实现,其只定义这个类的操作接口,不定义它的实现,其实现部分由其子类定义抽象操作操作名用斜体实现部分由其子类定义抽象操作操作名用斜体字表示,也可以在操作特征(字表示,也可以在操作特征(signature)后面加)后面加上特征字符串上特征字符串{abstract}17 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍Abstract classAbstract operationShape{ abstract }draw ( ) { abstract }Circle draw ( )Rectangle draw ( )抽象类与子类示例抽象类与子类示例18 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍交通工具交通工具飞行器飞行器汽汽 车车 船船轿轿 车车货货 车车 一般一般- -特殊关系特殊关系19 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 如果一个子类只有唯一一个父类,这个继承称如果一个子类只有唯一一个父类,这个继承称为为单一继承单一继承。

      如果一个子类有一个以上的父类,这如果一个子类有一个以上的父类,这种继承称为种继承称为多重继承多重继承 水上交通工具水上交通工具 陆上交通工具陆上交通工具 水陆两栖交通工具水陆两栖交通工具多重继承多重继承20 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 5.消息消息((message)) 在面向对象方法中在面向对象方法中 对消息的定义是:消息就是对消息的定义是:消息就是向对象发出的服务请求,它应该含有下述信息:提向对象发出的服务请求,它应该含有下述信息:提供服务的对象标识、服务标识、输入信息和回答信供服务的对象标识、服务标识、输入信息和回答信息21 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 6.结构与连接结构与连接 ((message)) 对象之间存在的关系主要有以下几种:对象之间存在的关系主要有以下几种: ((1 1)分类关系,用一般)分类关系,用一般- -特殊结构表示特殊结构表示 ((2 2)组成关系,用整体)组成关系,用整体- -部分结构表示部分结构表示 ((3 3)对象之间的静态联系,用实例连接表示。

      对象之间的静态联系,用实例连接表示 ((4 4)对象之间的动态联系,用消息连接表示对象之间的动态联系,用消息连接表示22 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 6.结构与连接:结构与连接:一般一般- -特殊结构特殊结构 24 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 6.结构与连接:结构与连接:整体整体- -部分结构部分结构 26 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍6.结构与连接:结构与连接:实例连接实例连接 28 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 6.结构与连接:结构与连接:消息连接消息连接 消消息息连连接接描描述述对对象象之之间间的的动动态态联联系系,,即即::若若一一个个对对象象在在执执行行自自己己的的服服务务时时,,需需要要((通通过过消消息息))请请求求另另一一个个对对象象为为它它完完成成某某个个服服务务,,则则就就第一个对象与第二个对象之间存在着消息连接。

      第一个对象与第二个对象之间存在着消息连接 29 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍 7. 多态性与动态绑定多态性与动态绑定 对象的多态性对象的多态性((((polymorphismpolymorphism))))是指一般类中是指一般类中定义的属性或服务被特殊类继承后,可以具有不同定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出不同的行为的数据类型或表现出不同的行为 例如例如例如例如“ “画画画画” ”服务,作用在服务,作用在服务,作用在服务,作用在“ “矩形矩形矩形矩形” ”对象上,则在屏幕上画一对象上,则在屏幕上画一对象上,则在屏幕上画一对象上,则在屏幕上画一个矩形,作用在个矩形,作用在个矩形,作用在个矩形,作用在“ “圆圆圆圆” ”对象上,则在屏幕上画一个圆对象上,则在屏幕上画一个圆对象上,则在屏幕上画一个圆对象上,则在屏幕上画一个圆 动态绑定动态绑定动态绑定动态绑定(dynamic binding)(dynamic binding)是在运行时根据对象接收的是在运行时根据对象接收的是在运行时根据对象接收的是在运行时根据对象接收的消息动态地确定要连接的服务代码。

      消息动态地确定要连接的服务代码消息动态地确定要连接的服务代码消息动态地确定要连接的服务代码30 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍if 条件条件 then p := t ; else p := r ;area := p.getarea ;getArea {abstract}polygonareahexagongetArearectanglegetArealengthwidthtrianglegetAreaVar p : polygon ;Var p : polygon ;Var t : triangle := Var t : triangle := triangle.new ; triangle.new ;Var r : rectangle := Var r : rectangle := rectangle.new ; rectangle.new ; 32 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍8、、永久对象永久对象(Persistent object) 所谓所谓永久对象永久对象永久对象永久对象是指生存期可以超越程序的执行是指生存期可以超越程序的执行时间而长期存在的对象。

      时间而长期存在的对象 目前,大多数目前,大多数OOPL不支持永久对象,如果一不支持永久对象,如果一个对象要长期保存,必须依靠于文件系统或数据库个对象要长期保存,必须依靠于文件系统或数据库管理系统实现,程序员需要作对象与文件系统或数管理系统实现,程序员需要作对象与文件系统或数据库之间数据格式的转换,以及保存和恢复所需的据库之间数据格式的转换,以及保存和恢复所需的操作等烦琐的工作操作等烦琐的工作 33 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍9、、主动对象主动对象(Persistent object) 主主动动对对象象是是一一组组属属性性和和一一组组服服务务的的封封装装体体,,其其中中至至少少有有一一个个服服务务不不需需要要接接收收消消息息就就能能主主动动执执行行((称称作主动服务)作主动服务)主主动动对对象象的的作作用用是是描描述述问问题题域域中中具具有有主主动动行行为为的的事事物物以以及及在在系系统统设设计计时时识识别别的的任任务务,,它它的的主主动动服服务务描描述相应的任务所应完成的操作述相应的任务所应完成的操作 34 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍7.4 7.4 面向对象的基本特征面向对象的基本特征面向面向面向面向对象对象对象对象抽象抽象抽象抽象性性性性继承继承继承继承性性性性多态多态多态多态性性性性封装封装封装封装性性性性35 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍7.5 7.5 面向对象的软件工程方法面向对象的软件工程方法36 下页下页末页末页上页上页首页首页目录目录第七章第七章 面向对象介绍面向对象介绍37 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.