9面向对象方法学引论

上传人:宝路 文档编号:48322627 上传时间:2018-07-13 格式:PPT 页数:75 大小:435.93KB
返回 下载 相关 举报
9面向对象方法学引论_第1页
第1页 / 共75页
9面向对象方法学引论_第2页
第2页 / 共75页
9面向对象方法学引论_第3页
第3页 / 共75页
9面向对象方法学引论_第4页
第4页 / 共75页
9面向对象方法学引论_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《9面向对象方法学引论》由会员分享,可在线阅读,更多相关《9面向对象方法学引论(75页珍藏版)》请在金锄头文库上搜索。

1、 淮海工学院软件工程学习目标 掌握什么是面向对象方法学?它有哪些优点。 理解喷泉模型的概念。 理解和掌握的对象、类、继承、多态等概念熟悉面向对象 建模的重要性; 掌握对象模型的基本含义、图形元素、建模方法和主要用 途; 掌握动态模型的基本含义、图形元素、建模方法和主要用 途; 掌握功能/用例模型的基本含义、图形元素、建模方法和主 要用途; 了解三种模型早OO方法中地位和作用。 第第9 9章章 面向对象方法学引论面向对象方法学引论淮海工学院软件工程面向对象的概念面向对象的概念 什么是面向对象什么是面向对象 对象对象 类类 消息消息 继承继承第9章 面向对象方法学引论淮海工学院软件工程什么是面向对

2、象什么是面向对象 Coad和Yourdon给出了一个定义:“面向 对象=对象+类+继承+通信”。 如果一个软件系统是使用这样 4 个概念 设计和实现的,则认为这个软件系统是面 向对象的。 一个面向对象的程序的每一成份应是对象 ,计算是通过新的对象的建立和对象之间 的通信来执行的。淮海工学院软件工程面向对象的要点:1. 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以有比较简单的对 象以某种方式组合而成。 2. 把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。 3. 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次 结构的系统(也

3、称为类等级)。 4. 对象彼此之间仅能通过传递消息互相联系。淮海工学院软件工程面向对象的主要优点:1. 与人类习惯的思维一致 2. 稳定性好3. 可重用性好 4. 较易开发出大型软件产品 5. 可维护性好稳定性好、易于修改、容易理解、容易测试和调试面向对象技术的优点并不是减少了开发时间,相反,初次使用这种技术开发软件,可能比用传统的方 法所需要的实践还稍微长一点。淮海工学院软件工程对象(object) 对象是面向对象开发方法的基本成份。 每个对象可用它本身的一组属性和它可以 执行的一组操作来定义。 属性一般只能通过执行对象的操作来改变 。 操作又称为方法或服务,它描述了对象执 行的功能,若通过

4、消息传递,还可以为其 它对象使用。淮海工学院软件工程面向对象中的基本概念对象的形象表示状态 S操作1,2,3的实现操作1操作2操作3界 面淮海工学院软件工程面向对象中的基本概念对象的特点l 以数据为中心 l 对象是主动的 l 实现了数据封装 l 本质上具有并行性 l 模块独立性淮海工学院软件工程淮海工学院软件工程淮海工学院软件工程对象的分类 外部实体:与系统交换信息的外部设备、相关子 系统、操作员或用户等; 信息结构:问题论域中的概念实体,如信号、报 表、显示信息等; 需要记忆的事件:系统执行过程中产生并需要记 忆的事件,如单击鼠标,击打键盘等; 角色:与系统交互的人员所扮演的角色,如学生 、

5、教师、会计等;淮海工学院软件工程 组织机构:有关机构,如公司、部门、小组等; 地点或位置:用做系统环境或问题上下文的场所、位置,如客户地址、收件人地址 等; 操作规程:如操作菜单、某种数据输入过 程等。淮海工学院软件工程类类(class)(class) 类是一组具有类是一组具有相同数据结构相同数据结构和和相同操作相同操作的对象的的对象的 集合。集合。 类的定义包括类的定义包括一组数据属性一组数据属性和和在数据上的一组合在数据上的一组合 法操作法操作。 类定义可以视为一个具有类似特性与共同行为的类定义可以视为一个具有类似特性与共同行为的 对象的对象的模板模板,可用来产生对象。,可用来产生对象。

6、在一个类中,每个在一个类中,每个对象对象都是都是类的实例类的实例 (Instance)(Instance) ,它们都可使用类中的函数。它们都可使用类中的函数。淮海工学院软件工程类类 两个四边形对象两个四边形对象淮海工学院软件工程 QuadrilateralQuadrilateral类的每个对象有相同的一组属类的每个对象有相同的一组属 性和操作。因此,类性和操作。因此,类QuadrilateralQuadrilateral提供了一提供了一 个模板,表示了所有四边形对象。个模板,表示了所有四边形对象。 类常常可看做是一个类常常可看做是一个抽象数据类型抽象数据类型(ADT)(ADT)的实的实 现。但

7、更合适的是把类看做是某种现。但更合适的是把类看做是某种概念的模型概念的模型 。 建立类的实例时常常使用其它类的实例,它们建立类的实例时常常使用其它类的实例,它们 提供了该类所需要的服务。提供了该类所需要的服务。 用到的这些实例应当受到保护不被其它对象存用到的这些实例应当受到保护不被其它对象存 取,包括同一个类的其它实例。取,包括同一个类的其它实例。淮海工学院软件工程什么是消息?消息,就是要求某个对象执行在定义它的那个类 中所定义的某个操作的规格说明。通常,一个消息有 下述三部分组成:l 接受消息的对象 l 消息选择符(也称为消息名) l 零个或多个变元如:myCircle.show(GREEN

8、) 不同于结构化设计中的函数调用。消息(消息(MessageMessage)淮海工学院软件工程继承继承 (Inheritance)(Inheritance) 继承是使用已有的类定义做为基础建立新 类的定义的技术。 新类的定义可以是既存类所声明的数据和 新类所增加的声明的组合。新类复用既存 的定义,而不要求修改既存类。 既存类可当做基类来引用,则新类相应地 可当做派生类来引用。淮海工学院软件工程例:类的继承层次例:类的继承层次PolygonTriangleQuadrilateralRectangle淮海工学院软件工程 使用继承设计一个新类,可以视为描述一个新 的对象集,它是既存类所描述对象集的子

9、集合 。 这个新的子集合可以认为是既存类的一个特殊 化。 新类的界面可以等同于既存类的界面,新类的 界面还可以被看做是既存类界面的一个扩充界 面。例如,从一个既存的车辆类派生的四轮驱 动车类可能不仅是车辆类子集合定义的特殊化 ,而且还可能在新类的界面中引入新的能力。淮海工学院软件工程PolygonreferencePoint Vertices Draw( ) move(x, y) contains?(aPoint)QuadrilateralreferencePoint Vertices Draw( ) move(x, y) contains?(aPoint)Polygon类Polygon类的子

10、类 Quadrilateral淮海工学院软件工程多态性(Polymorphism)在面向对象的软件技术中,多态性是指子 类对象可以象父类对象那样使用,同样的消 息既可以发送给父类对象也可以发送给子类 对象。多态性机制不仅增加了面向对象软件系 统的灵活性,进一步减少了信息冗余,而且 显著提高了软件的可重用性和可扩充性。淮海工学院软件工程重载(Overloading)有两种重载:l 函数重载是指在同一作用域内的若干个参数特征不 同的函数可以使用相同函数名字。 l 运算符重载是指同一个运算符可以施加于不同类型的操作数上面。当然,当参数特征不同或被 操作数的类 型不同时,实现函数的算法或运算符 的语义

11、是不相同的。淮海工学院软件工程 对象模型化技术把分析时收集的信息构造在三类 模型中,即对象模型、动态模型和功能模型。 这个模型化的过程是一个迭代过程。通过不断更 新、细化,直到切合系统的真正需求为止。对象模型化技术OMT动态模型对象模型功能模型淮海工学院软件工程对象模型对象模型 是三个模型中最关键的一个模型,它的作用 是描述系统的静态结构,包括构成系统的类 和对象,它们的属性和操作,及它们之间的 关系。 在OMT中,类与类之间的关系叫做关联。关 联代表一组存在于两个或多个对象之间的、 具有相同结构和含义的具体连接。关联可以 是物理的,也可以是逻辑的。淮海工学院软件工程类名类名属性属性操作操作类

12、类的实例(类名)类名)属性值属性值类定义示例正方形边长 位置 边界颜色 内部颜色画图 擦图 移动淮海工学院软件工程 聚合聚合,代表整体与部分的关系,这是一种,代表整体与部分的关系,这是一种 特殊形式的关联。特殊形式的关联。 菱形框菱形框 表示整体侧对象表示整体侧对象 限定限定,用以对关联的含义做某种约束。,用以对关联的含义做某种约束。 角色角色,用来说明关联的一端。由于多数关,用来说明关联的一端。由于多数关 联具有两个端点,因而涉及到两个角色。联具有两个端点,因而涉及到两个角色。 附加的说明对象之间的连接的附加的说明对象之间的连接的连接属性连接属性。(0个或1个) (0个或多个)1+(1个或多

13、个) 12,4(12个或4个)淮海工学院软件工程一般化关联一般化关联 也称为继承性。一般化关系包含基类和几个 派生类。 基类表示了一个较为一般、普遍的概念 每个派生类则是它的某个特殊形态 派生类除了自然地继承基类所具有的属性和 操作外,还具有反映自身特点的属性和操作 。淮海工学院软件工程淮海工学院软件工程1. 定义类UML中类的图形符号为长方形,用两条横线把长方形分成 上、中、下3个区域(下面两个区域可省略),3个区域分 别放类的名字、属性和服务。类图的基本符号淮海工学院软件工程为类命名时应该遵守以下几条准则:(1) 使用标准术语。应该使用在应用领域中人们习惯的标准术 语作为类名,不要随意创造

14、名字。例如,“交通信号灯”比“信号 单元”这个名字好,“传送带”比“零件传送设备”好。(2) 使用具有确切含义的名词。尽量使用能表示类的含义的日 常用语作名字,不要使用空洞的或含义模糊的词作名字。例如,“ 库房”比“房屋”或“存物场所”更确切。(3) 必要时用名词短语作名字。为使名字的含义更准确,必要时用形容词加名词或其他形式的名词短语作名字。例如,“最小的 领土单元”、“储藏室”、“公司员工”等都是比较恰当的名字。 总之,名字应该是富于描述性的、简洁的而且无二义性的。淮海工学院软件工程2. 定义属性 UML描述属性的语法格式如下: 可见性 属性名: 类型名=初值性质串 属性的可见性(即可访问

15、性)有3种: 公有的(public) 私有的(private) 保护的(protected) 分别用加号(+)、减号(-)和井号(#)表示。如果 未声明可见性,则表示该属性的可见性尚未定义。注意, 没有默认的可见性。 属性名和类型名之间用冒号(:)分隔。类型名表示 该属性的数据类型,它可以是基本数据类型,也可以是用 户自定义的类型。淮海工学院软件工程在创建类的实例时应给其属性赋值,如果给某个 属性定义了初值,则该初值可作为创建实例时这个属 性的默认值。类型名和初值之间用等号(=)隔开。用花括号括起来的性质串明确地列出该属性所有 可能的取值。例如,“发货单”类的属性“管理员” ,在UML类图中像下面那样描述:-管理员: String=“未定”淮海工学院软件工程3. 定义服务服务也就是操作,UML描述操作的语法格式如下:可见性操作名(参数表): 返回值类型性质串操作可见性的定义方法与属性相同。参数表是用逗号分隔的形式参数的序列。描述一个参数 的语法如下:参数名: 类型名=默认值当操作的调用者未提供实在参数时,该参数就使用默认 值。 与属性类似,在类中也可定义类作用域操作,在类图中 表示为带下划线的操作。这种操作只能存取本类的类作用域 属性。淮海工学院软件工程类与类之间通常有关联、泛化(继承)、依赖和 细化等4种关系。 1.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

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