面向对象概述.ppt

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

《面向对象概述.ppt》由会员分享,可在线阅读,更多相关《面向对象概述.ppt(42页珍藏版)》请在三一办公上搜索。

1、面向对象建模技术,第 2章 面向对象的概念,电 子教 案,第 2 章 面向对象的基础概念,2.1 面向对象建模技术的总体框架 2.2 面向对象的基本概念 2.3 面向对象方法概述 2.4 软件建模概述,2.1 面向对象建模技术的总体框架,2.2 面向对象的基本概念,1、对象的含义 对象是要研究的任何事物,可以是个物理实体、概念实体 一本书、一个人、一件商品、一家图书馆、一家极其复杂的自动化工厂、一架航天飞机、一张信息表都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。,2.2 面向对象的基本概念,对象(object)的定义 用编程技术实现的观点来定义对象:对象是指

2、一组属性以及这组属性上一组专用操作的封装体。属性(attribute)通常是一些数据,表示该对象的状态信息。每个对象都有它自己的一组属性值,对象中的属性只能通过该对象所提供的操作来存取或修改。操作(operation)(也称方法或服务)规定了对象的行为,表示对象所能提供的服务。,2.2 面向对象的基本概念,对象的特征 1、对象是独立的存在,有自己独立的名字 2、对象有自己的属性和行为 3、对象表达的实体可以是活的,也可以不是活的 4、不同对象之间可以判断相同或者相等 5、软件中对象是独立的模块,有独立的数据集和操作,2.2 面向对象的基本概念,2、类(class)的定义 类是一组具有相同属性和

3、相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。程序设计语言中的类型是具体变量的类!,2.2 面向对象的基本概念,3、对象和类的图形化描述 对象和类一般采用“对象图”和“类图”来描述。类的图形表达:,类图 表达,图1 类的描述,2.2 面向对象的基本概念,李军:人李军24编程等能力,张红兵张红兵28人民路8号绘图能力,对象名对象属性对象运算,图2 对象的描述,对象的图形表达,2.2 面向对象的基本概念,类和实例对象的例子,2.2 面向对象的基本概念,4、封装(encapsulation)封装

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

5、基本概念,继承具有传递性,继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。,2.2 面向对象的基本概念,6、抽象类(abstract class)与具体类 没有实例的类,它把一些类组织起来,提供一些公共的行为,但并不需要使用这个类的实例(母板类),而仅使用其子类的实例。在抽象类中可以定义抽象操作,抽象操作指:只定义这个类的操作接口,不定义它的实现,其实现部分由其子类定义。抽象操作操作名用斜体字表示,也可以在操作特征(signature)后面加上特征字符串abstract。,2.2 面向对象的基本概念,有具体实例的类也就称之为具体类。抽象类与子类示例,2.2 面向对象的基本概

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

7、象)之间的弱连接关系,类(对象)可以是另一个类(对象)的一部分,但它们之间不完全相互依赖。(2)类(对象)的聚合关系 聚合表示把类(对象)组合在一起构成更大的类(对象),表现的是整体-部分的层次依赖关系。,2.2 面向对象的基本概念,关联和聚合的实例1、朋友间的聚会、书架上的书籍是典型的关联关系。朋友之间就是关联的,朋友随时会加入或离开 书架上的书也是随时会拿走或放回2、电视机中的组件、飞机的各个组成部分是典型的聚合关系。组件的拆除,整体就没有了意义,整体与部分的依赖是密切相关的。,2.2 面向对象的基本概念,(2)类(对象)的间的组合关系 组合是一种复合聚合关系,即构成整体类的部分类完全隶属

8、于整体类,整体类与部分类不可分!(3)类(对象)之间的泛化关系 类(对象)之间存在的继承关系。(4)类(对象)之间的依赖关系 多个类(对象)之间存在语义上的连接关系,一个是独立的,另一个则依赖于独立的实体!(5)类(对象)之间的实现关系 一个实体定义一个合同,而另一个实体保证履行该合同,这两个实体间就存在实现关系!如:接口类和实现接口的类之间就是实现关系!,2.2 面向对象的基本概念,类(对象)之间的关系图表达:树的表达、图的表达类(对象)间的关系可以用“树”表达,如聚合关系的对象就可以用树表达。类(对象)间的关系也可以用“图”表达,图是关联对象组之间连接的一个任意集合。如公交车站之间的连接关

9、系 树是图的一种特殊情况:树的每一个节点只能有一个父节点!图则无此限制。,2.2 面向对象的基本概念,10、面向对象方法 简单说,面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法。具体说,面向对象方法是一种运用对象、类、继承、封装、关联、消息传送、多态性等概念来构造系统的软件开发方法。可以说,采用以上概念开发的软件系统是面向对象的。,2.3 面向对象方法简述,面向对象的软件开发方法流程 软件规划定义阶段 软件可行性分析、软件开发计划制定(成本估 算,效益分析、资源需求、进度安排等)面向对象分析(OOA)面向对象设计(

10、OOD)面向对象实现(OOP),2.3 面向对象方法简述,1、OOA阶段的5个基本步骤:(1)确定对象和类 这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。(2)确定结构 结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。,2.3 面向对象方法简述,(3)确定主题 主题是指事物的总体概貌和总体分析模型。(4)确定属性 属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。(5)确

11、定方法 方法是在收到消息后必须进行的一些处理操作。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的,而有些则是显示的。,2.3 面向对象方法简述,2、面向对象设计阶段的3个步骤(1)对象定义规格的求精 在软件系统内设设计各个对象、对象间的关系(如层次关系、继承关系等)、对象间的通信方式(如消息模式)等。(2)数据模型和数据库设计 数据模型的设计需要确定类和对象属性的内容、消息连接的方式、系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库结构模型中。(3)优化设计 从另一个角度对分析结果和处理业务过程的整理归纳,优化包括对象和结构的优化、抽象、

12、集成。,2.3 面向对象方法简述,3、面向对象实现阶段的9个步骤(1)分析确定在问题空间和解空间出现的全部对象及其属性。(2)确定应施加于每个对象的操作,即对象固有的处理能力。(3)分析对象间的联系,确定对象彼此间传递的消息。(4)设计对象的消息模式,消息模式和处理能力共同构成对象的外部特性,2.3 面向对象方法简述,(5)分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类。(6)确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共性质的描述。(7)设计每个类关于对象外部特性的描述。(8)设计每个类的内部实现(数据结构和方法)(9)创建所需

13、的对象(类的实例),实现对象间应有的联系(发消息)。,2.3 面向对象方法概述,面向对象方法是建立在“对象”概念基础上的方法学。对象是由数据和允许在数据上执行的操作组成的封装体,与客观实体有直接对应关系,一个类定义了具有相似性质的一组对象。而继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。,2.3 面向对象方法概述,面向对象方法学要点之一:认为客观世界是由各种“对象”所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”,

14、都是该对象类的一个元素。面向对象方法学要点之二:是通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的依据。面向对象方法学要点之三:认为对已分成类的各个对象,可以通过定义一组“方法”来说明该对象的功能,即允许作用于该对象上的各种操作。,2.4 面向对象建模的概念,1、什么是模型?1、模型是对现实存在的实体的抽象和简化,模型提供了系统的蓝图。2、模型过滤非本质的细节信息,抽象出的问题本质,使问题更容易理解。3、模型是所要解决的问题的一种表达方式。工程、建筑等需要创造性的领域都需要使用模型,2.4 面向对象建模的概念,2、为什么要建模?需要为软件系统建立模型是因为开发一个具有一定规

15、模和复杂性的软件系统和编写一个简单的程序大不一样。其间的差别,借用G.Booch的比喻,如同建造一座大厦和搭一个狗窝的差别。大型的、复杂的软件系统的开发是一项工程,必须按工程学的方法组织软件的生产与管理,必须经过分析、设计、实现、测试、维护等一系列的软件生命周期阶段。,2.4 面向对象建模的概念,3、建模的必要性 模型是软件开发之根本。通过对软件系统进行建模的过程是系统化认识所开发软件的一条途径。现在软件开发的过程必须经历的几个过程是:系统规划、需求分析、系统设计、初步实现、系统实现、系统运行、系统维护。在这几个阶段,迭代式的开发模式让我们每个阶段都经历一次系统建模的洗礼。,2.4 面向对象建

16、模的概念,4、软件建模的用途(1)捕获并准确表达软件项目的需求信息和应用领域中的知识,使各方面的利益相关者能够理解并达成一致。(2)模型是系统设计的蓝图。(3)使具体的设计细节与需求分开。(4)有助于生成有用的实际产品。(5)通过分析模型,可以组织、查找、过滤、重获、检查以及编辑大型系统的有关信息。(6)经济地研究多种设计过程中的解决方案。(7)利用模型可以全面把握复杂的系统。,2.4 面向对象建模的概念,5、系统模型的好处 1、使用模型便于从整体上、宏观上把握问题,可以更好的解决问题;2、可以加强人员之间的沟通;3、可以更早的发现问题或疏漏的地方。模型为代码生成提供依据;4、模型帮助我们按照实际情况对系统进行可视化;5、模型允许我们详细说明系统的结构或行为;6、模型给出了一个指导我们构造系统的模板;7、模型对我们做出的决策进行文档化;,2.4 面向对象建模的概念,6、对待建模存在的几个认识误区 误区一:建模写文档。误区二:建模是在浪费时间。误区三:从开始阶段就形成一个很完美的模型。,课外拓展作业,(1)结合生活中的实例,举例说明模型的重要作用。(2)通过网址http:/进入百度百科,查阅百度百科中关于面向对象、模型等相关词条的内容。(3)通过上网查阅软件建模相关资料进行更为详细的了解,理解模型和建模的含义。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号