第三讲 面向对象理论及设计方法
面向对象程序设计理论与方法

面向对象程序设计理论与方法一、概述面向对象程序设计是一种基于对象的程序设计方法。
它强调对象的概念,在软件设计中起着核心作用。
本文将介绍面向对象程序设计理论与方法。
二、面向对象程序设计的基本特征面向对象程序设计具有以下基本特征:1.封装性:将数据和方法组合成对象,以保护数据和方法不被误用,提高了程序的安全性和可读性。
2.继承性:通过继承机制,实现代码的重用,减少了代码重复,同时提高了程序的可维护性和可扩展性。
3.多态性:同一方法可以对不同类型的对象执行不同的操作,提高了程序的灵活性和可移植性。
三、面向对象程序设计的设计模式1.单例模式:保证一个类只有一个实例,并提供对该实例的唯一访问点。
2.工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪个类。
3.装饰者模式:动态地将责任附加到对象上。
4.观察者模式:定义一种一对多的依赖关系,当一个对象状态改变时,所有依赖它的对象都会得到通知并自动更新。
四、面向对象程序设计的实践经验1.尽量使用抽象类和接口等面向对象编程的特性,增强软件的灵活性和可扩展性。
2.在面向对象编程中,应遵守“开闭原则”,即对扩展开放,对修改关闭,从而保证软件的稳定性和可维护性。
3.在进行面向对象程序设计时,要注重设计文档的撰写和维护,便于团队成员之间的交流和合作。
五、面向对象程序设计的优缺点面向对象程序设计具有以下优点:1.支持代码的重用,提高了生产效率。
2.具有良好的可扩展性和可维护性,提高了软件的可靠性。
3.提供了丰富的设计模式,为程序员提供了一系列可用的模板和思路,可以减少错误和不必要的代码。
同时,面向对象程序设计也有缺点:1.面向对象程序设计的代码量较大,对程序的运行效率有一定影响。
2.对于初学者而言,面向对象程序设计的学习曲线较陡,需要较长的学习时间和经验积累。
六、总结本文主要介绍了面向对象程序设计理论与方法,包括其基本特征、设计模式、实践经验、优缺点等方面。
虽然面向对象编程有着优点和缺点,但是在当前的软件开发领域中,面向对象编程已经成为主流的编程思想,其应用范围和意义正日益扩大和深刻。
面向对象设计思想的实现方法与特点

面向对象设计思想的实现方法与特点面向对象设计思想是一种将现实世界中的事物抽象成对象,通过对象之间的相互作用来实现需求解决的开发模式。
而在实现这种思想时,设计者需要加以考虑的一些方法和特点。
一、实现方法1.类和对象的设计类是具有相同属性、方法和关系的对象的抽象,而对象则是类的实例化结果。
在面向对象设计中,设计者首先需要考虑类的设计,并且按照类的设计来实例化对象。
2.继承和多态继承是面向对象设计中的一个重要概念,它允许一个类继承另一个类的属性和方法,并可以重新定义或扩展这些属性和方法。
而多态则是指对象在不同的情况下可以表现出不同的形态和行为。
3.封装和抽象封装是指将数据和操作统一封装在类的内部,并且只能通过类的方法来操作。
而抽象则是将对象的共性提取出来,形成一个抽象类或者接口,供其他类进行继承或者实现。
二、特点1.可重用性面向对象设计的一个优点就是可以将相同的功能封装在一个类中,供多个对象共享,从而提高代码的可重用性。
2.可扩展性面向对象设计所强调的抽象和继承机制可以使得程序的设计更加灵活,可以方便地进行扩展和修改。
3.易于维护性由于面向对象编程使用类和对象来组织代码,因此可以更加清晰地理解程序的代码结构和功能逻辑,从而更易于维护。
4.可读性强面向对象的设计思想更加贴近人类的思维方式,使得代码更加易于理解和阅读。
5. 数据的完整性和安全性在面向对象的设计中,数据和操作被封装在类的内部,并且只能通过类的方法进行操作,从而保证了数据的完整性和安全性。
综上所述,面向对象设计思想是一种将现实世界中的问题抽象成对象的程序开发模式,并且其实现方法主要包括类和对象的设计、继承和多态、封装和抽象等。
面向对象设计的特点包括可重用性、可扩展性、易于维护性、可读性强以及数据的完整性和安全性等。
在实际程序开发中,合理运用面向对象的设计思想可以提高程序的效率、维护性和安全性。
面向对象设计精品PPT课件

理想的设计变动情况
2021/1/9
大连理工大学软件学院
15
11.4 系统分解
• 大多数系统的面向对象设计模型,在逻辑上都由 四大部分组成。分别是问题域子系统,人-机交互 子系统、任务管理子系统和数据管理子系统。
• 这四个子系统如果重要程度和规模过大,在设计 过程中应该进一步划分成更小的子系统,规模过 小的可合并在其他子系统中。
1. 2. 3. 4. 不要提供太多服务(保持适当内聚的基础上)
2021/1/9
大连理工大学软件学院
13
•
– 消息中的参数不要超过3个。
•
– 设计出来的类中的服务通常都很小,有的仅 3~5行源程序语句,可以用一个动词和一个 宾语的简单句子描述功能。
• 把设计变动减至最小(结构稳定)
– 设计质量越高,设计结果保持不变的时间也 越长 (Refactoring)
– 单向交互比双向交互更容易理解,也更容易 设计和修改,因此应该尽量使用客户—供应 商关系。
2021/1/9
大连理工大学软件学院
18
• • 把子系统组织成完整的系统时,有水平层次组织
1. 层次组织
– 把软件系统组织成层次系统,每层是一个子系统。 – 上层在下层的基础上建立,下层为实现上层功能而提
供必要的服务。
2021/1/9
大连理工大学软件学院
11
11.2 启发规则
• • 提高软件可维护性和可重用性重要措施。
1. 用词一致 2. 使用已有的协议(重载) 3. 减少消息模式的数目 4. 避免模糊的定义
2021/1/9
大连理工大学软件学院
12
• 一般—
– 应该使类等级中包含的层次数适当。
面向对象分析与设计

面向对象分析与设计在软件开发过程中,面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种重要的方法论。
通过OOAD,开发者可以将现实世界中的概念和问题转化为软件系统的结构和行为。
一、什么是面向对象分析与设计?面向对象分析与设计是一种以对象为核心的开发方法。
它强调将问题领域的实体、关系和行为抽象为对象、类和方法。
面向对象的分析阶段主要关注问题领域的需求和约束,而设计阶段则更关注如何将需求转化为可执行的软件系统。
二、面向对象分析与设计的优势1. 模块化:面向对象的方法将复杂的系统拆分为多个独立的对象,每个对象都有清晰的职责和接口。
这种模块化可以提高代码的可维护性和可复用性。
2. 继承与多态:继承是面向对象编程中的重要特性,它允许新的类继承已有类的属性和方法。
多态则允许对象在不同上下文中表现出不同的行为。
这些特性使得代码更加灵活和易于扩展。
3. 封装与信息隐藏:面向对象的方法将数据和操作封装在对象内部,外界只能通过对象的接口进行交互。
这种封装和信息隐藏可以保护数据的完整性和安全性。
4. 规范化的开发流程:面向对象的分析与设计有一套规范的开发流程,包括需求分析、概念设计、详细设计和实现等阶段。
这种流程可以提高开发效率,并减少错误和重复工作。
三、面向对象分析与设计的过程1. 需求收集与分析:在这个阶段,开发者与用户密切合作,收集和分析系统的业务需求。
通过访谈、文档分析等方法,确定系统的功能、性能和约束等方面的要求。
2. 概念设计:在概念设计阶段,开发者将业务需求转化为概念模型。
通过绘制用例图、类图、状态图等工具,描述系统的结构和行为。
3. 详细设计:在详细设计阶段,开发者将概念模型进一步细化,确定具体的类和接口。
同时,还需要考虑系统的性能、安全和可维护性等方面的问题。
4. 编码与测试:在编码阶段,开发者根据详细设计的要求,使用具体的编程语言实现系统。
面向对象程序设计之设计原则与方法

面向对象程序设计之设计原则与方法面向对象程序设计是一种先进的程序设计范式,关键在于建立一个具有自主行为和自我描述能力的程序体系结构,它可以非常自然的模拟现实世界中的对象和关系,提升程序的可读性、可扩展性和可维护性,其重要性不言而喻。
在面向对象的程序设计中,设计原则和设计方法是非常重要的,以下是我对其的理解和分析。
一、设计原则设计原则是设计过程中最重要的指导方针。
它可以帮助开发人员做出更好的设计决策,确保程序具有高内聚性和低耦合性,以此提高程序的可扩展性、可维护性和可重用性。
下面是一些常用的面向对象设计原则:1. 单一职责原则(Single Responsibility Principle,SRP)单一职责原则是指一个类、模块或者函数只负责一项任务。
这样做可以降低类的复杂度,提高代码的可读性,方便代码的维护和修改。
2. 开放-封闭原则(Open-Closed Principle,OCP)开放-封闭原则是指一个软件实体(类、模块或函数等)应该对扩展开放,对修改关闭。
也就是说,在不修改现有代码的情况下,可以通过增加新的代码来扩展软件的功能。
3. 里氏替换原则(Liskov Substitution Principle,LSP)里氏替换原则是指如果一个软件实体使用了另一个软件实体,那么它们应该是可以互换的。
也就是说,子类可以替换父类出现在程序中的任何地方,并保证程序的功能正确性。
4. 依赖倒置原则(Dependency Inversion Principle,DIP)依赖倒置原则是指高层模块不应该依赖低层模块,二者都应该依赖抽象。
同时,抽象不应该依赖细节,细节应该依赖抽象。
这样做可以降低模块之间的耦合度,提高代码的可维护性和可重用性。
5. 接口隔离原则(Interface Segregation Principle,ISP)接口隔离原则是指一个类不应该依赖一个它不需要的接口。
也就是说,一个接口应该只提供它的客户端需要的方法,而不应该强迫它们实现它们不需要的方法。
第3章 面向对象的设计方法

现实中的对象
现实世界中对象有两个共同的特点:
一方面,它们都有自己的状态,如一台电视机有自己 的摆放位置,有关机和开机状态,此刻正在播放某一 频道的电视节目等 另一方面,它们又都有自己的行为或功能,如电视机 的开机、关机、调台等。
对象的属性与方法
面向对象程序设计中的对象是现实世界对象的模 型化,它同样具有状态和行为。
客户—提交定单… 定单—打印定单,改变条目…
模型化对象
Order orderID Customer dateOrdered itemsOrdered payment placedBy initialize() calcAmountOwed() printOrder() makePayment() changeItem() Customer CustomerID name billingAddress shippingAddress phone initializ计算机世界
现实世界
对象 实 例 化 抽 象
映射
实体 抽 象
类
计算机逻辑 的实现
抽象数据类
概念世界
概念世界
封装与复用
类是一种封装技术。
如果属性或方法被定义为public ,它就是对外公开的一 部分,其他类可以直接访问它。 如果属性或方法被定义为private,它就是内部实现的一 部分。只有类自己的方法可以访问它。 要注意保护对象内部的数据,对象通过其所属类中的 方法管理这些内部的数据。 对象之间通过公开的属性或方法发生相互作用,而对 象内部实现的变化不会影响到该对象的使用(就象修 理汽车时,发动机的更换不会影响人的驾驶动作) 。
面向对象技术-人人受益
For manager
更迅速和更经济地开发和维护软件系统。
面向对象分析与设计方法

面向对象分析与设计方法引言:面向对象分析与设计方法是一种软件开发的方法论,它强调将问题领域的实体和行为抽象成对象,并通过对象之间的交互来解决问题。
本文将探讨面向对象分析与设计方法的特点、应用场景以及其中涉及的主要概念和步骤。
一、面向对象分析与设计方法的特点1. 抽象与封装:面向对象方法将问题领域的实体和行为抽象成对象,通过封装对象的属性和方法,实现了信息隐藏和模块化。
2. 继承与多态:继承机制使得对象可以从已有的类派生出新的类,减少了重复设计的工作量。
多态使得同一种行为可以在不同的对象上具有不同的实现方式。
3. 消息传递与对象交互:对象通过消息传递进行通信,通过对象之间的交互来实现问题解决。
这种方式使得系统具有良好的灵活性和可扩展性。
4. 高内聚与低耦合:面向对象方法通过将相关属性和方法封装在同一个对象中,实现了高内聚;同时,对象之间的交互通过接口进行,实现了低耦合。
二、面向对象分析与设计方法的应用场景1. 软件系统设计:面向对象方法适用于各种规模的软件系统设计,可以帮助开发者理清系统的模块划分和功能实现。
2. 数据库设计:面向对象方法可以将数据库中的实体和关系映射到对象之间,方便进行数据库设计和操作。
3. 网络应用开发:面向对象方法适用于网络应用开发,如网站、移动应用等。
通过抽象出各个功能模块的对象,实现系统的灵活和可扩展。
三、面向对象分析与设计方法的主要概念和步骤1. 概念:- 类:表示一组具有相同属性和行为的对象的抽象。
类包含属性和方法。
- 对象:类的实例化。
每个对象都有一组属性和对应的方法。
- 属性:对象的特征,用于描述对象的状态。
- 方法:对象能够执行的操作。
- 关联:不同对象之间的关系。
- 继承:通过派生机制,实现类的复用和扩展。
- 多态:同一种行为在不同的对象上具有不同的实现方式。
2. 步骤:- 需求分析:了解问题领域,确定系统需求和功能。
- 概念设计:识别和分析问题领域中的实体、关系和行为,形成概念模型。
面向对象的系统分析与设计方法

面向对象的系统分析与设计方法在信息化时代,各种软件系统已经深入到人们日常生活的方方面面。
如何将软件设计得更加高效、安全、易用成为设计人员不断探索的问题。
其中,面向对象的系统分析与设计方法被广泛应用于软件领域,成为当前软件研发中的流行趋势。
一、面向对象思想面向对象思想是一种软件分析、设计和编程思路。
它将现实世界中的实体抽象为对象,通过对象之间的交互和信息处理来实现系统的功能。
对象的行为和属性都与现实世界中的事物相对应,因此可以更加符合人类的思维方式,易于理解和维护。
同时,面向对象的设计还具有可重用性好、扩展性强、易维护等优点,因此被广泛应用于软件开发中。
二、面向对象的系统分析与设计面向对象的系统分析与设计方法采用面向对象思想,以系统的对象为中心,对系统所涉及到的实体进行抽象分析和设计。
其主要步骤包括系统需求分析、面向对象的分析和面向对象的设计。
1.系统需求分析系统需求分析是整个软件开发的关键,需要通过对用户需求、客户需求和用户交互接口需求等方面进行深入分析和调研,明确软件的功能、性能、可靠性和安全性等需求要求,为后续的设计和编码打下基础。
2.面向对象的分析面向对象的分析将系统需求分析的结果转化为面向对象的模型,具体包括对象、类、关系、约束条件等方面的分析。
其中,最重要的是通过实体之间的关系和交互来建立对象模型,理清对象之间的依赖关系和功能流程,同时将软件的功能划分为一个个模块,为后续的设计提供可靠的基础。
3.面向对象的设计面向对象的设计是指基于面向对象的分析结果,对系统进行更加详细的设计。
在设计过程中,需要运用各种通用的面向对象设计模式,如单例模式、工厂模式、观察者模式等,从而提高系统的可维护性、可扩展性和可重用性,同时还需考虑系统安全性、性能等方面的设计。
三、面向对象设计方法的优势1.提高系统的可维护性面向对象设计方法可以将系统中的实体进行模块化的设计,每个模块都可以自行管理本身功能的维护和更新,同时多个模块之间的协调和合作也容易实现,从而提高了系统的可维护性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一 面向对象的方法由来与发展
与之对应的编程语言的支撑: Simula-67 (早期) 80年 Smalltalk-80 成为第一个 商业化的面向对象语言.在Smalltalk-80中 建立的概念,如模块化,信息封装与隐 蔽性,抽象性,继承性,多形性等,为 解决大型软件的管理,提高软件的可靠性, 可重用性,可扩充性和可维护性提供了有 效的手段.
一 面向对象的方法由来与发展
1990年Smalltalk协会开发出了一种称 1990年Smalltalk协会开发出了一种称 为 CRC ( Class Responsibility Collaboration) Collaboration ) 卡的工具用于对象模 型的分析过程; 型的分析过程; 1991~ 1991~1995 , Peter Coad 和 Ed Yourdon经过研究, Yourdon经过研究,开发出了较为简 捷的面向原型的分析方法;
一 面向对象的方法由来与发展
80年代后期,在C语言的基础上,引入类等 面向对象的概念,形成了C++的面向对象 语言,同时其他常见的高级语言也引入 了该方法。 今后 (新), 智能体(AGENT)的概念将称 为新一代编程方法, 除了面向对象的内容 外,还增加了环境对个体的影响和个体对 环境的影响,有程序的自组织功能等。
6 类层次与类格
越在上层的类越具有普遍性和共性,越下 层越细化,越专门化 上层的为基类(超类)下层为导出类 基类( 导出类(子类) 基类 导出类 类的层次结构可分树状结构 有向图结构 树状结构和有向图结构 树状结构 树状结构 每个导出类只有一个基类 有向图结构 每个导出类可有多个基类 (语言是否提供该结构的支持)
二封装性(Encapsulation)
封装性目的: 将 使用者 和 设计者 分开 使用者只关心类能做什么 而不关心如何实现 设计者只关心如何做 而不关心谁使用
二封装性(Encapsulation)
封装性说明 1 明确的范围和清楚的外部边界
对象的范围 私有变量,过程等限制在此范围内
2 部件间 软件 有良好的接口 部件间(软件 软件)有良好的接口
二 面向对象的基本概念
7 类(Class)和类型(Type) )和类型( ) 类和具体实例 类型是数据的抽象 即值的 集合 静态和动态 new 和 delete 生成和删除 类的实例
3.2 面向对象的基本特性
抽象性 封装性 继承性 多形性
一 抽象性
抽象是对复杂的现实的世界简明表示 强调所关心(感兴趣)的信息(要害和实 质), 将不重要的信息忽略 • 对象具有抽象的表达能力 –对象不仅可以表示结构化的数,还可 以表示非结构的数据(图形,声音,动态 图像等)
消息的三种性质
同一对象可接受不同的消息,产生 不同的响应; 相同的消息发给不同对象,响应可 能不同 消息的发送可不考虑具体的接受 者,对象可以响应或不响应该消息
二 面向对象的基本概念
5 属性和方法(类的具体分析途径) 属性和方法( 对象内凡是可以描述自身状态、 对象内凡是可以描述自身状态、性质的数据名称 的总和称为属性 对象在外部作用下而产生的可以改变其部分或全 部属性值的动作行为的总和称为方法 6 类层次与类格 现实世界的描述很难采用一个类表示 对象类之间可能具有层次结构,层次的建立是在 继承性的基础上实现的 继承性
一 面向对象的方法由来与发展
1989~ 1989~1991 , Sally Shlaer 和 Steve Mellor出了两本关于 OO分析与设计 Mellor 出了两本关于OO 分析与设计 的书; 1987年 1987 年 , David Harel引入了状态图 , Harel 引入了状态图, 用以描述系统或子系统有限状态的 变化过程;
一 抽象性
对象类实现了抽象的数据类型 –对象类实现了更高级的抽象 将语义 相同的对象构成对象类 –语义特性 结构特性 操作特性 约束 特性 过程的抽象 完成明确定义的操作
一 抽象性
数据的抽象 是O-O方法的核心 构成思考与说明 的基本组织结构的基础
– 首先定义对象的属性,然后定义围绕着这 些属性进行操纵的不同方法(服务)
二 面向对象的基本概念
2 对象类 对象类(Object Class) 类的特点; 1. 一个类是同一类对象的抽象存在形式,包含 全部的属性数据结构及其相应方法的描述但 不包含具体的属性数值; 2. 用一个类可以生成多个含具体属性数值的同 类的对象; 3. 类的属性成员的值将随对象的不同而不同, 而所有的同类对象却只引用一套方法。
二封装性(Encapsulation)
封装具有下述的三个特点: 1 封装将发生关联的所有属性与方法捆绑 到一起, 到一起 , 形成了具有明确边界的对象布局; 2 属性内容的改变只受到对象内部方法的 作用, 作用 , 与对象边界以外的任何因素的变化 无直接关系。 无直接关系。 3 每个对象的方法都不能自主动作,而是 每个对象的方法都不能自主动作, 由来自对象外的信号或者由来自本对象中 另外方法的信号才能触发。 另外方法的信号才能触发。
多层次的继承具有传递性 垂直地多层共享该类的全部语义性质 类格的继承性 横向的共享机制 (多重继承)
二 面向对象的基本概念
1 对象 对象(Object) 对象是人们研究的任何事务 1. 1 表现自身所处状态、位置、品质的数据描 述; 2 能够改变自身所处状态、位置、品质的所 有的动作行为描述;
二 面向对象的基本概念
对象的构成实行了数据与操作的结合
对象具有状态 用数据进行描述 电子宠 物的年龄,每次能喝多少水 • 将对象的状态进行改变是通过操作实现的 时间到,给宠物喝水 • 操作可视为对象的行为 • 数据和操作都封装在对象的统一体内 •
第三讲 面向对象的理论及设计方法
3.1 面向对象方法 导论
3.1 面向对象方法导论 一 面向对象的方法由来与发展 面向对象的概念首先是由挪威人Dahl 和Nygaard于二十世纪60年代中期提 出面向对象的的设计方法被誉为’ 研 究 高 技 术 的 好 方 法 ’ ( ObjectOriented Paradigm,简称 O-O方法)
三 继承性(Inheritance) 继承性(
1 继承性的含义
• 继承性是建立了O-O方法的共享机制 • 对象共享它所在类的结构,操作与约束语义 特性
继承可分为 取代继承 包含继承 受限继 承 和 特化继承 在创建时只要申明参与的类,即能自动 地继承该类的全部语义性质
三 继承性(Inheritance) 继承性(
2 对象类
类实现(Class Implementation) 类内部表示及类说明的具体实现 电子宠物喝水后的处理方法 将已喝的水与新喝的水相加 结果 死亡 无反应 喝的较多 对使用者来说 不必了解具体实现 实现信息的隐蔽
二 面向对象的基本概念
3 类的实例及实例变量
由类所描述的对象称为类实例 小张的电子宠物 实例变量 类的内部表示
二封装性(Encapsulation)
对象是封装的基本单位 对象类在 实例化 时,需将各事例的私有 变量(初始属性)进行量化,建立起实 例 O-O方法的封装性优于结构化方法的封装 性
三 继承性(Inheritance) 继承性(
在创建一个新类时,只有声明参与的类, 那么新创建的类就自动继承了其所有声 明参与的类(称为超类)的全部特性。 继承还具有传递作用,类的继承性还包括 多重继承。
二 面向对象的基本概念
对象应具有唯一的识别能力 对象必须有唯一的标识符(Object Identify) XX的电子宠物 对象必须参与一个或一个以上的对象类 对象类 对象的抽象 电子宠物 对象 对象的实体 XX买的特定的电子宠 物
二 面向对象的基本概念
2 对象类 对象类(Object Class) 是对象的抽象(由具体到抽象) 对象类的定义 将具有相同结构,操作并遵守同样约束规 则的对象聚合成到一起
二封装性(Encapsulation)
公有(全局)段public class 类名 { public: protected: private: } 提供给所有外界使用
例 class 电子宠物 { public: 电子宠物(); 构造函数 电子宠物( Cstring 姓名, int 最大年龄, int 最大肚容量, ....) ~电子宠物(); 析构函数 void 设置(Cstring *, int 最大年龄, int 最大肚容量, ....) void 显示(); Cstring 问姓名(); float 问肚里有多少水(); 效果 喝水( float 水的重量); 效果 时间到(); Cstring m_chname ; // 姓名 protected: int 问年龄(); private: int m_最大年龄; float m_水的最大容量; int m_实际年龄; float m_实际喝水 ; }
二 面向对象的基本概念
4 方法和消息 进行某种操作的过程称为方法 包括 目标对象 操作名 操作变量 小张的电子宠物.喝水(5公升) 让具体对象做某事是通过向该对象发消息实现 的 对象间的通讯是通过消息来实现的 给 小 张的电子宠物喝5公升水
消息(Message)促使对象动作的来自外 界的触发信息的总和被称为消息。 当具体对象接受到消息后,激活与之匹配的 方法 消息包含四个基本要素: 1. 接收消息的对象标识; 2. 接收消息的对象方法的标识; 3. 可能含有接收消息对象的方法所需的参数; 4. 可能含有由接收消息对象的方法提供的返 回信息;
O-O方法的抽象性表现在于强调 对象 属性 和 方法
二 封装性(Encapsulation)
是一种信息隐蔽技术 ‘黑匣子结构’ 当对象含有完整的属性和与之相对应的方法时, 则称为封装 软件工程 对模块的基本要求 模块的独立性 模块内的高内聚性和模块间的低藕合性 封装性 是具有良好的模块性的基础 加强了软件 的可重用性 提高了软件的开发效率,质量和可 靠性。