面向对象概述

上传人:re****.1 文档编号:585836286 上传时间:2024-09-03 格式:PPT 页数:42 大小:247.04KB
返回 下载 相关 举报
面向对象概述_第1页
第1页 / 共42页
面向对象概述_第2页
第2页 / 共42页
面向对象概述_第3页
第3页 / 共42页
面向对象概述_第4页
第4页 / 共42页
面向对象概述_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《面向对象概述》由会员分享,可在线阅读,更多相关《面向对象概述(42页珍藏版)》请在金锄头文库上搜索。

1、面向对象建模技术第第2章章 面向对象的概念面向对象的概念 电 子教 案第 2 章 面向对象的基础概念 2.1面向对象建模技术的总体框架面向对象建模技术的总体框架2.2面向对象的基本概念面向对象的基本概念2.3面向对象方法概述面向对象方法概述2.4软件建模概述软件建模概述2.1 面向对象建模技术的总体框架2.2 面向对象的基本概念面向对象的基本概念1、对象的含义、对象的含义对象对象是要研究的任何事物,可以是个物理实体、是要研究的任何事物,可以是个物理实体、概念实体概念实体一本书、一个人、一件商品、一家图书馆、一家一本书、一个人、一件商品、一家图书馆、一家极其复杂的自动化工厂、一架航天飞机、一张信

2、极其复杂的自动化工厂、一架航天飞机、一张信息表都可看作对象,它不仅能表示有形的实体,息表都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。也能表示无形的(抽象的)规则、计划或事件。 2.2 面向对象的基本概念面向对象的基本概念v对象对象(object)的定义 用编程技术实现的观点来定义对象: 对象是指一组属性以及这组属性上一组专用操作的封装体。 属属性性(attribute)通常是一些数据,表示该对象的状态信息。每个对象都有它自己的一组属性值,对象中的属性只能通过该对象所提供的操作来存取或修改。 操操作作(operation)(也称方法或服务)规定了对象的行为,表

3、示对象所能提供的服务。2.2 面向对象的基本概念面向对象的基本概念v对象的特征 1、对象是独立的存在,有自己独立的名字 2、对象有自己的属性和行为 3、对象表达的实体可以是活的,也可以不是活的 4、不同对象之间可以判断相同或者相等 5、软件中对象是独立的模块,有独立的数据集和操作2.2 面向对象的基本概念面向对象的基本概念2、 类类(class)的定义 类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例实例(instance)。 类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。 程序设计语言中的类型类型是具体变量变量的类!2.2 面向对象的

4、基本概念面向对象的基本概念3、对象和类的图形化描述、对象和类的图形化描述对象对象和和类类一般采用一般采用“对象图对象图”和和“类图类图”来描述。来描述。类的图形表达:类的图形表达:类图类图 表达表达类名类名属性属性运算运算人人姓姓 名名:字符串字符串年年 龄龄: 整整 型型改换工作改换工作改换地址改换地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印几何对象几何对象颜色颜色位置位置移动(移动(delta:矢量)矢量)选择(选择(P:指针型)指针型):布尔型布尔型旋转旋转(角度角度)图图1 1 类的描述类的描述2.2 面向对象的基本概念面向对象的基本概念李军李军:人人李军李

5、军24编程等能力编程等能力张红兵张红兵张红兵张红兵28人民路人民路8号号绘图能力绘图能力对象名对象名对象属性对象属性对象运算对象运算图图2 2 对象的描述对象的描述v对象的图形表达对象的图形表达2.2 面向对象的基本概念面向对象的基本概念v类和实例对象的例子轿轿 车车型号:字符串型号:字符串颜色:字符串颜色:字符串牌照号:字符串牌照号:字符串张经理的轿车张经理的轿车型号型号= =桑塔纳桑塔纳颜色颜色= =红色红色牌照号牌照号= =沪沪AN2037AN2037类类实例对象实例对象2.2 面向对象的基本概念面向对象的基本概念4、封装封装(encapsulation) 封装是一种信息隐蔽技术,用户只

6、能看见对象封装界面上(类的说明)的信息,对象的内部函数实现对用户是隐蔽的。 封装使数据和加工该数据的方法(函数)封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模封装为一个整体,以实现独立性很强的模块,块, 封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。2.2 面向对象的基本概念面向对象的基本概念5、继承(inheritance) 继承是类之间的基本关系,它是子类自动共享父子类自动共享父类数据和方法的一种机制类数据和方法的一种机制。 父类中定义了其所有子类的公共属性公共属性和操作操作,在子类中除了定义自己特有的属性和操作外,可以继承其父类(或祖先类)的属

7、性和操作,还可以对父类(或祖先类)中的操作重新定义其实现方法。 继承的技术意义:编程中实现代码的重用。 2.2 面向对象的基本概念面向对象的基本概念v继承具有传递性,继承分为单继承(一个子继承具有传递性,继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个类只有一父类)和多重继承(一个类有多个父类)。父类)。水上交通工具水上交通工具 陆上交通工具陆上交通工具 水陆两栖交通工具水陆两栖交通工具多重继承多重继承2.2 面向对象的基本概念面向对象的基本概念6、抽象类抽象类(abstract class)与具体类具体类 没有实例的类,它把一些类组织起来,提供一些公共的行为,但并不需要使用这个类

8、的实例(母板类),而仅使用其子类的实例。 在抽象类中可以定义抽象操作,抽象操作指:只定义这个类的操作接口,不定义它的实现,其实现部分由其子类定义。抽象操作操作名用斜体字表示,也可以在操作特征(signature)后面加上特征字符串abstract。2.2 面向对象的基本概念面向对象的基本概念抽象类抽象类抽象操作抽象操作Shape abstract draw ( ) abstract Circle draw ( )Rectangle draw ( )有具体实例的类也就称之为具体类。有具体实例的类也就称之为具体类。抽象类与子类示例抽象类与子类示例2.2 面向对象的基本概念面向对象的基本概念7、消息

9、(message) 消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。 一个消息通常包括接收对象名、调用的操作接收对象名、调用的操作名、适当的参数名、适当的参数(如果有必要的话)。 消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。 消息完全由接收者解释执行。 2.2 面向对象的基本概念面向对象的基本概念8、多态性、多态性对象根据所接收的消息会产生行动,同一对象根据所接收的消息会产生行动,同一消息为不同的对象接受时可产生完全不同消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。的行动,这种现象称为多态性。 2.2 面向对象的基本概念面向对象

10、的基本概念9、类(对象)之间的关系、类(对象)之间的关系 软件系统中的类(对象)不是孤立存在的,类(对象)之间总是有直接或间接的关系,而且关系或强或弱。(1)类(对象)的关联关系关联关系 关联是类(对象)之间的弱连接关系,类(对象)可以是另一个类(对象)的一部分,但它们之间不完全相互依赖。(2)类(对象)的聚合关系聚合关系 聚合表示把类(对象)组合在一起构成更大的类(对象) ,表现的是整体-部分的层次依赖关系。2.2 面向对象的基本概念面向对象的基本概念v关联和聚合的实例1、朋友间的聚会、书架上的书籍是典型的关联关系。 朋友之间就是关联的,朋友随时会加入或离开 书架上的书也是随时会拿走或放回2

11、、电视机中的组件、飞机的各个组成部分是典型的聚合关系。 组件的拆除,整体就没有了意义,整体与部分的依赖是密切相关的。2.2 面向对象的基本概念面向对象的基本概念(2)类(对象)的间的组合关系组合关系组合是一种复合聚合关系,即构成整体类的部分类完全隶属于整体类,整体类与部分类不可分!(3)类(对象)之间的泛化关系泛化关系 类(对象)之间存在的继承关系 。 (4) 类(对象)之间的依赖关系依赖关系多个类(对象)之间存在语义上的连接关系,一个是独立的,另一个则依赖于独立的实体! (5)类(对象)之间的实现关系实现关系 一个实体定义一个合同,而另一个实体保证履行该合同,这两个实体间就存在实现关系!如:

12、接口类和实现接口的类之间就是实现关系!2.2 面向对象的基本概念面向对象的基本概念v类(对象)之间的关系图表达:树的表达、图的表达v类(对象)间的关系可以用“树”表达,如聚合关系的对象就可以用树表达。v类(对象)间的关系也可以用“图”表达,图是关联对象组之间连接的一个任意集合。如公交车站之间的连接关系 v树是图的一种特殊情况: 树的每一个节点只能有一个父节点!图则无此限制。2.2 面向对象的基本概念面向对象的基本概念10、面向对象方法、面向对象方法简单说,面向对象方法是一种把面向对象的简单说,面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系思想应用于软件开发过程中,指导

13、开发活动的系统方法,简称统方法,简称OO(Object-Oriented)方法。)方法。具体说,面向对象方法是一种运用对象、类、具体说,面向对象方法是一种运用对象、类、具体说,面向对象方法是一种运用对象、类、具体说,面向对象方法是一种运用对象、类、继承、封装、关联、消息传送、多态性等概念来继承、封装、关联、消息传送、多态性等概念来继承、封装、关联、消息传送、多态性等概念来继承、封装、关联、消息传送、多态性等概念来构造系统的软件开发方法。构造系统的软件开发方法。构造系统的软件开发方法。构造系统的软件开发方法。 可以说,采用以上概念开发的软件系统是面向对象的。2.3 面向对象方法简述面向对象方法简

14、述v面向对象的软件开发方法流程面向对象的软件开发方法流程 软件规划定义阶段软件规划定义阶段 软件可行性分析、软件开发计划制定(成本估 算,效益分析、资源需求、进度安排等) 面向对象分析(面向对象分析(OOA)面向对象设计(面向对象设计(OOD)面向对象实现(面向对象实现(OOP)2.3 面向对象方法简述面向对象方法简述1、OOA阶段的阶段的5个基本步骤:个基本步骤:(1)确定对象和类)确定对象和类这里所说的对象是对数据及其处理方式的抽这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和

15、方物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个法集合的描述,它包括如何在一个类中建立一个新对象的描述。新对象的描述。(2)确定结构)确定结构结构是指问题域的复杂性和连接关系。类成员结构是指问题域的复杂性和连接关系。类成员结构反映了泛化结构反映了泛化-特化关系,整体特化关系,整体-部分结构反映部分结构反映整体和局部之间的关系。整体和局部之间的关系。2.3 面向对象方法简述面向对象方法简述(3)确定主题)确定主题主题是指事物的总体概貌和总体分析模型。主题是指事物的总体概貌和总体分析模型。(4)确定属性)确定属性属性就是数据元素,可用来描述对象或分类结属性就是

16、数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指构的实例,可在图中给出,并在对象的存储中指定。定。(5)确定方法)确定方法方法是在收到消息后必须进行的一些处理操作。方法是在收到消息后必须进行的一些处理操作。对于每个对象和结构来说,那些用来增加、修改、对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的,而有些则删除和选择一个方法本身都是隐含的,而有些则是显示的。是显示的。2.3 面向对象方法简述面向对象方法简述2、面向对象设计阶段的、面向对象设计阶段的3个步骤个步骤(1)对象定义规格的求精)对象定义规格的求精在软件系统内设设计各个对象、对象间的

17、关系(如在软件系统内设设计各个对象、对象间的关系(如层次关系、继承关系等)、对象间的通信方式(如消息模层次关系、继承关系等)、对象间的通信方式(如消息模式)等式)等 。(2)数据模型和数据库设计)数据模型和数据库设计数据模型的设计需要确定类和对象属性的内容、消数据模型的设计需要确定类和对象属性的内容、消息连接的方式、系统访问、数据模型的方法等。最后每个息连接的方式、系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库结构模型中对象实例的数据都必须落实到面向对象的库结构模型中 。(3)优化设计)优化设计从另一个角度对分析结果和处理业务过程的整理归从另一个角度对分析结果和处理

18、业务过程的整理归纳,优化包括对象和结构的优化、抽象、集成。纳,优化包括对象和结构的优化、抽象、集成。2.3 面向对象方法简述面向对象方法简述3、面向对象实现阶段的、面向对象实现阶段的9个步骤个步骤(1)分析确定在问题空间和解空间出现的分析确定在问题空间和解空间出现的全部对象及其属性。全部对象及其属性。(2)确定应施加于每个对象的操作,即对确定应施加于每个对象的操作,即对象固有的处理能力。象固有的处理能力。(3)分析对象间的联系,确定对象彼此间分析对象间的联系,确定对象彼此间传递的消息。传递的消息。(4)设计对象的消息模式,消息模式和处设计对象的消息模式,消息模式和处理能力共同构成对象的外部特性

19、理能力共同构成对象的外部特性2.3 面向对象方法简述面向对象方法简述(5)分析各个对象的外部特性,将具有相同外部分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类。特性的对象归为一类,从而确定所需要的类。(6)确定类间的继承关系,将各对象的公共性质确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共放在较上层的类中描述,通过继承来共享对公共性质的描述。性质的描述。(7)设计每个类关于对象外部特性的描述。设计每个类关于对象外部特性的描述。(8)设计每个类的内部实现(数据结构和方法)设计每个类的内部实现(数据结构和方法)(9)创建所需的对象(类

20、的实例),实现对象间创建所需的对象(类的实例),实现对象间应有的联系(发消息)。应有的联系(发消息)。 2.3 面向对象方法概述面向对象方法概述v面向对象方法是建立在面向对象方法是建立在“对象对象”概念基础上的方概念基础上的方法学。法学。v对象是由数据和允许在数据上执行的操作组成的对象是由数据和允许在数据上执行的操作组成的封装体封装体,与客观实体有直接对应关系,一个类定,与客观实体有直接对应关系,一个类定义了具有相似性质的一组对象。义了具有相似性质的一组对象。v而而继承性继承性是对具有层次关系的类的属性和操作进是对具有层次关系的类的属性和操作进行共享的一种方式。行共享的一种方式。v所谓所谓面向

21、对象面向对象就是基于对象概念,以对象为中心,就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。观世界和设计、构建相应的软件系统。 2.3 面向对象方法概述面向对象方法概述v面向对象方法学要点之一面向对象方法学要点之一:认为客观世界是由各:认为客观世界是由各种种“对象对象”所组成的,任何事物都是对象,每一所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象对象都属于某个对象“类类”,都是该对象类的一,都是该对象类的一

22、个元素。个元素。v面向对象方法学要点之二面向对象方法学要点之二:是通过类比,发:是通过类比,发现对象间的相似性,即对象间的共同属性,这就现对象间的相似性,即对象间的共同属性,这就是构成对象类的依据。是构成对象类的依据。v面向对象方法学要点之三面向对象方法学要点之三:认为对已分成类:认为对已分成类的各个对象,可以通过定义一组的各个对象,可以通过定义一组“方法方法”来说明来说明该对象的功能,即允许作用于该对象上的各种操该对象的功能,即允许作用于该对象上的各种操作。作。2.4 面向对象建模的概念1、什么是模型?、什么是模型?1、模型是对现实存在的实体的抽象和简化,、模型是对现实存在的实体的抽象和简化

23、,模型提供了系统的蓝图。模型提供了系统的蓝图。2、模型过滤非本质的细节信息,抽象出的、模型过滤非本质的细节信息,抽象出的问题本质,使问题更容易理解。问题本质,使问题更容易理解。3、模型是所要解决的问题的一种表达方式。、模型是所要解决的问题的一种表达方式。工程、建筑等需要创造性的领域都需要使工程、建筑等需要创造性的领域都需要使用模型用模型2.4 面向对象建模的概念2、为什么要建模?、为什么要建模?需要为软件系统建立模型是因为开发一个具有一需要为软件系统建立模型是因为开发一个具有一定规模和复杂性的软件系统和编写一个简单的程定规模和复杂性的软件系统和编写一个简单的程序大不一样。其间的差别,借用序大不

24、一样。其间的差别,借用G.Booch的比喻,的比喻,如同如同建造一座大厦和搭一个狗窝的差别建造一座大厦和搭一个狗窝的差别。大型的、复杂的软件系统的开发是一项工程,必大型的、复杂的软件系统的开发是一项工程,必须按工程学的方法组织软件的生产与管理,必须须按工程学的方法组织软件的生产与管理,必须经过分析、设计、实现、测试、维护等一系列的经过分析、设计、实现、测试、维护等一系列的软件生命周期阶段。软件生命周期阶段。2.4 面向对象建模的概念3、建模的必要性、建模的必要性模型模型是软件开发之根本。通过对软件系统是软件开发之根本。通过对软件系统进行建模的过程是系统化认识所开发软件进行建模的过程是系统化认识

25、所开发软件的一条途径。的一条途径。v现在软件开发的过程必须经历的几个过程现在软件开发的过程必须经历的几个过程是:系统规划、需求分析、系统设计、初是:系统规划、需求分析、系统设计、初步实现、系统实现、系统运行、系统维护。步实现、系统实现、系统运行、系统维护。在这几个阶段,迭代式的开发模式让我们在这几个阶段,迭代式的开发模式让我们每个阶段都经历一次每个阶段都经历一次系统建模系统建模的洗礼。的洗礼。2.4 面向对象建模的概念4、软件建模的用途、软件建模的用途(1)捕获并准确表达软件项目的需求信息和应用)捕获并准确表达软件项目的需求信息和应用领域中的知识,使各方面的利益相关者能够理解领域中的知识,使各

26、方面的利益相关者能够理解并达成一致。并达成一致。(2)模型是系统设计的蓝图。)模型是系统设计的蓝图。(3)使具体的设计细节与需求分开。)使具体的设计细节与需求分开。(4)有助于生成有用的实际产品。)有助于生成有用的实际产品。(5)通过分析模型,可以组织、查找、过滤、重)通过分析模型,可以组织、查找、过滤、重获、检查以及编辑大型系统的有关信息。获、检查以及编辑大型系统的有关信息。(6)经济地研究多种设计过程中的解决方案。)经济地研究多种设计过程中的解决方案。(7)利用模型可以全面把握复杂的系统。)利用模型可以全面把握复杂的系统。2.4 面向对象建模的概念5、系统模型的好处、系统模型的好处1、使用

27、模型便于从整体上、宏观上把握问题,、使用模型便于从整体上、宏观上把握问题,可以更好的解决问题;可以更好的解决问题;2、可以加强人员之间的沟通;、可以加强人员之间的沟通;3、可以更早的发现问题或疏漏的地方。模型为可以更早的发现问题或疏漏的地方。模型为代码生成提供依据;代码生成提供依据;4、模型帮助我们按照实际情况对系统进行可视模型帮助我们按照实际情况对系统进行可视化;化;5、模型允许我们详细说明系统的结构或行为;模型允许我们详细说明系统的结构或行为;6、模型给出了一个指导我们构造系统的模板;模型给出了一个指导我们构造系统的模板;7、模型对我们做出的决策进行文档化;、模型对我们做出的决策进行文档化

28、; 2.4 面向对象建模的概念6、对待建模存在的几个认识误区、对待建模存在的几个认识误区误区一:建模写文档误区一:建模写文档。误区二:建模是在浪费时间。误区二:建模是在浪费时间。误区三:从开始阶段就形成一个很完美的模误区三:从开始阶段就形成一个很完美的模型。型。课外拓展作业(1)结合生活中的实例,举例说明模型的重要)结合生活中的实例,举例说明模型的重要作用。作用。(2)通过网址)通过网址http:/进入百进入百度百科,查阅百度百科中关于面向对象、模度百科,查阅百度百科中关于面向对象、模型等相关词条的内容。型等相关词条的内容。(3)通过上网查阅软件建模相关资料进行更)通过上网查阅软件建模相关资料进行更为详细的了解,理解模型和建模的含义。为详细的了解,理解模型和建模的含义。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号