附录A 词汇表
抽象类(abstract class) 一种主要用来定义接口的类。抽象类中的部分或全部操作被延
迟到其子类中实现。抽象类不能实例化。
抽象耦合(abstract coupling) 若类A维护一个指向抽象类B的引用,则称类A抽象耦合
于B。我们之所以称之为抽象耦合乃是因为A指向的是一个对象的类型,而不是一个具体对
象。
抽象操作(abstract operation) 一种声明了型构( s i g n a t u r e)而没有实现的操作。在
C + +中,抽象操作对应于纯虚成员函数。
相识关系(acquaintance relationship) 如果一个类指向另一个类,则这两个类之间有相
识关系。
聚合对象(aggregate object) 一种包含子对象的对象。这些子对象称为聚合对象的部分,
而聚合对象对它们负责。
聚合关系(aggregation relationship) 聚合对象与其部分之间的关系。类为其对象(例
如,聚合对象)定义这种关系。
黑箱复用(black-box reuse) 一种基于对象组合的复用方式。这些被组合的对象之间并
不开放各自的内部细节,因此被比作“黑箱”。
类(c l a s s) 类定义对象的接口和实现。它规定对象的内部表示,定义对象可实施的操作。
类图(class diagram) 类图描述类及其内部结构和操作,以及类间的静态关系。
类操作(class operation) 以类而不是单独的对象为目标的操作。在C + +中,类操作称
为静态成员函数。
具体类(concrete class) 不含抽象操作的类。它可以实例化。
构造器(c o n s t r u c t o r) 在C + +中,一种系统自动调用的用来初始化新对象实例的操作。
耦合(c o u p l i n g) 软件构件之间相互依赖的程度。
委托(d e l e g a t i o n) 一种实现机制,即一个对象把发给它的请求转发/委托给另一个对象。
而受托对象将代表原对象执行请求的操作。
设计模式(design pattern) 设计模式针对面相对象系统中重复出现的设计问题,提出一
个通用的设计方案,并予以系统化的命名和动机解释。它描述了问题、解决方案、在什么条
件下使用该解决方案及其效果。它还给出了实现要点和实例。该解决方案是解决该问题的一
组精心安排的通用的类和对象,再经定制和实现就可用来解决特定上下文中的问题。
析构器(d e s t r u c t o r) 在C + +中,一种系统自动调用的用来清理( f i n a l i z e)即将被删除
的对象的操作。
动态绑定(dynamic binding) 在运行时刻才将一个请求与一个对象及其一个操作关联起
来。在C + +中,只有虚函数可动态绑定。
封装(e n c a p s u l a t i o n) 其结果是将对象的表示和实现隐藏起来。在对象之外,看不到其
内部表示,也不能直接对其进行访问。操作( o p e r a t i o n)是访问和修改对象表示的唯一途径。
框架(f r a m e w o r k) 一组相互协作的类,形成某类软件的一个可复用设计。框架将设计
划分为一组抽象类,并定义它们各自的责任及相互之间的合作,以此来指导体系结构级的设
计。开发者通过继承框架中的类和组合其实例来定制该框架以生成特定的应用。
友类(friend class) 在C + +中,A为B的友类是指A对B中的操作和数据有与B本身一样
的访问权限。
继承(i n h e r i t a n c e) 两个实体间的一种关系,其中一实体乃是基于另一实体而定义的。
类继承以一个或多个父类为基础定义一个新类,这个新类继承了其父类的接口和实现,被称
为子类( C + +)或派生类。类继承包含了接口继承和实现继承。接口继承以一个或多个已有
接口为基础定义新的接口;实现继承以一个或多个已有实现为基础定义新的实现。
实例变量(instance variable) 定义部分对象表示的数据。C + +中使用的术语是数据成
员。
交互图(interaction diagram) 展示对象间请求流程的一种示意图。
接口(i n t e r f a c e) 一个对象所有操作定义的型构的集合。接口刻划了一个对象可响应的
请求的集合。
元类(m e t a c l a s s) 在S m a l l t a l k中,类也是对象。元类是类对象的类。
混入类(mixin class) 一种被设计为通过继承与其他类结合的类。混入类通常是抽象
类。
对象(o b j e c t) 一个封装了数据及作用于这些数据的操作的运行实体。
对象组合(object composition) 组装和组合一组对象以获得更复杂的行为。
对象图(object diagram) 描述运行时刻特定对象结构的示意图。
对象引用(object reference) 用于标识另一对象的一个值。
操作(o p e r a t i o n) 对象的数据仅能由其自身的操作来存取。对象受到请求时执行操作。
在C + +中,操作称为成员函数,而S m a l l t a l k使用术语“ 方法”。
重定义(o v e r r i d i n g) 在一个子类中重定义(从父类继承下来的)操作。
参数化类型(parameterized type) 一种含有未确定成分类型的类型。在使用时,将未确
定类型处理成参数。在C + +中,参数化类型称为模板(t e m p l a t e)。
父类(parent class) 被其他类继承的类。S m a l l t a l k又称之为超类(s u p e r c l a s s),C + +中
又称之为基类(base class),有时又称为祖先类(ancestor class)。
多态(p o l y m o r p h i s m) 在运行时刻接口匹配的对象能互相替换的能力。
私有继承(private inheritance) 在C + +中,一种仅出于实现目的的继承。
协议(p r o t o c o l) 接口概念的扩展,包含指明可允许的请求序列。
接收者(r e c e i v e r) 一个请求的目标对象。
请求(r e q u e s t) 一个对象当受到其他对象的请求时执行相应的操作。通常请求又称为消
息。
型构(s i g n a t u r e) 一个操作的型构定义了它的名称、参数和返回值。
子类(s u b c l a s s) 继承了另一个类的类。在C + +中,子类又称为派生类(derived class)。
子系统(s u b s y s t e m) 一组相互协作的类形成的一个相对独立的部分,完成一定的功能。
子类型(s u b t y p e) 如果一个类型的接口包含另一类型的接口,则前一类型称为后一类
型的子类型。
超类型(s u p e r t y p e) 为其他类型继承的父类型。
工具箱(t o o l k i t) 一组提供实用功能的类,但它们并不包含任何具体应用的设计。
类型(t y p e) 一个特定接口的名称。
白箱复用(white-box reuse) 一种基于类继承的复用。子类复用父类的接口和实现,但
它也可能存取其父类的其他私有部分。
分享到:
相关推荐
本书结合设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别...
本书并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设计。本书假设你至少已经比较熟悉一种面向对象编程语言,并且有一定的面向对象设计经验。当我们提及“类型”和“多态”,或“接口”...
four of gang 的好书! 设计模式的先祖!
本书并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设计。本书假设你至少已经比较熟悉一种面向对象编程语言,并且有一定的面向对象设计经验。当我们提及“类型”和“多态”,或“接口”...
本书并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设计。本书假设你至少已经比较熟悉一种面向对象编程语言,并且有一定的面向对象设计经验。当我们提及“类型”和“多态”,或“接口”...
《分析模式:可复用的对象模型》是一本深入探讨软件设计模式的重要著作,它由Erich Gamma和Richard Helm等著名软件工程专家共同撰写。这本书的中文版为中国的开发者提供了理解和应用这些模式的便利,使他们能够更好...
本书并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设计。本书假设你至少已经比较熟悉一种面向对象编程语言,并且有一定的面向对象设计经验。当我们提及“类型”和“多态”,或“接口”...
本书内容丰富,不仅包括面向对象基础理论,还包括了面向对象设计模式,这方面的代表书籍有Fowler的《分析模式》(Analysis Patterns: Reusable Object Models),其中详细阐述了可复用对象模型的模式。Fowler的《UML...
《设计模式:不可多得的好书(China-Pub版)》是编程领域中一本非常重要的经典著作,尤其在Java开发中被广泛推崇。设计模式是经验丰富的软件开发人员在面对常见问题时,经过时间检验而形成的最佳实践。这本书深入浅...
敏捷软件开发-原则-模式与实践 不可不读的好书
另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展的问题的求解方法,因此它们并不是人们从...
设计模式作为面向对象编程中的一项重要技术,对于提高代码的可维护性、可扩展性和复用性具有重大意义。GoF(Gang of Four)的《设计模式》一书为程序员们提供了一系列经典的面向对象设计解决方案。尽管原书中使用的...
1. **面向对象**:面向对象编程是Java的核心特性之一,通过类和对象的概念来组织和设计软件系统。类是对象的模板,定义了一组属性和行为;对象则是类的一个实例,具有该类定义的所有属性和行为。 2. **多态性**:多...
2. **C#语言基础**:设计模式的应用基于对C#语言的深入理解,包括面向对象特性如封装、继承、多态以及.NET框架的核心概念。 3. **创建型模式**:如单例模式(Singleton)、工厂模式(Factory Method)和抽象工厂...
### 敏捷软件开发:原则、模式与实践 #### 知识点概览 - **敏捷软件开发概述** - **敏捷开发的原则** - **敏捷开发的模式** - **敏捷开发的实践方法** #### 敏捷软件开发概述 敏捷软件开发是一种以用户需求为中心...
本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...