转载自 王杲杲 http://www.iteye.com/topic/49107
Meilir Page-Jones在《UML面向对象设计基础》一书中编了一个故事:
软件界在“面向对象”的定义上,一度很难达成一致。我开始步入面向对象领域时,决定澄清一下“面向对象”的定义。
我把数十位面向对象的老前辈关在一个没有食物和水的房间里。我告诉他们只有当他们的定义达成一致的意见,并且可以在软件世界发布时才允许他们出去。在一小时的喧哗过后,房内一片安静,老前辈们背靠背谁也不理谁了,陷入了僵局。此时,蹦出来一位组织者,让每个人都列出他们认为在面向对象世界中不可缺少的特性,大家同意。一通罗列,每个人都列出了三个五个、十个八个。
此时,刚才蹦出来那位组织者又蹦出来开始讲话,说,现在我们大致有两种做法:一种是建立一个长列表,该列表是每个人列表的并集;另一种是建立一个短列表,该列表是每个人列表的交集。大家选择了后者,产生了一个短列表,该列表中的特性在每个人列表中都有。这个列表确实很短,短到只有一个词,“封装”。
一堆废话告诉大家一个道理,封装,是面向对象最为重要的特性,封装好了,才能做到所谓的高内聚、松耦合,获得面向对象思想许诺的种种优势。
分享到:
相关推荐
### Delphi与面向对象特点分析 #### 面向对象技术概述 面向对象技术作为现代计算机科学中的核心概念,已经成为软件开发领域中最流行且高效的方法之一。与传统的面向数据流的程序设计相比,面向对象技术提供了更为...
第6章“多态性与虚函数”是面向对象的重要特性,虚函数使得基类指针可以调用派生类的重写函数,实现了动态绑定,增强了代码的灵活性。 最后,第11章“面向对象程序设计”可能是对整个课程的综合应用和总结,可能会...
**继承** 是面向对象的另一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码复用。子类可以扩展或修改父类的功能,而不必从零开始编写代码。继承不仅有助于减少代码量,还能使类...
面向对象编程广泛应用于各种软件开发领域,尤其在大型项目中,OOP的特性能够有效地管理复杂度,提高代码的可读性和可维护性。例如,在图形界面设计、游戏开发、数据库管理系统等领域,OOP都是首选的编程模式。 ### ...
这些历史背景对于理解现代面向对象设计的起源和发展轨迹非常重要。 #### 面向对象设计的原理 面向对象设计不是一项孤立的技术,它建立在一系列设计原则之上,如封装、继承、多态、抽象等。这些原则指导着软件开发者...
熟悉这些编程语言的基本语法和特性对于面向对象的实践尤为重要。 总的来说,《面向对象分析与设计(第3版)》是一本权威的面向对象技术参考书。它不仅详细介绍了UML 2.0的各个方面,还提供了一整套面向对象分析与...
此外,多态性是Java面向对象的重要特性,它允许不同类的对象对同一消息作出不同的响应。例如,玩家类和棋子类可能都有“移动”行为,但具体实现会根据类的不同而不同。通过接口或继承,可以确保多态性的实现。 最后...
本资料包“C++面向对象程序设计 经典例题 附练习题”显然是为了帮助学生深入理解C++的面向对象特性,并通过实例和练习来巩固学习成果。 在C++中,面向对象的主要概念包括: 1. **类**:类是创建对象的模板或蓝图,...
面向对象的特性包括封装、继承和多态。封装是指隐藏对象的内部细节,只对外提供公共接口,减少代码耦合。继承允许子类继承父类的属性和方法,实现代码复用。多态则允许不同对象对同一消息作出不同的响应,提高了程序...
最后,面向对象分析与设计(OOA&D)是软件工程中的重要步骤,包括用例分析、类图和序列图的绘制等,帮助我们从需求中提炼出清晰的对象模型。 总之,面向对象技术引论课件将全面讲解这些概念,通过学习,你可以掌握...
面向对象技术是现代软件开发中的核心概念,尤其在大型复杂系统的构建中扮演着至关重要的角色。西安电子科技大学作为一所享有盛誉的高等教育机构,其面向对象技术课程为研究生提供了深入理解和应用这一技术的坚实基础...
这一时期,他的团队开发了Smalltalk编程语言,并经过不断的迭代完善,Smalltalk成为了面向对象编程的重要里程碑。 与此同时,Bjarne Stroustrup在贝尔实验室工作期间,基于Simula语言的经验,试图将面向对象的思想...
值得注意的是,许多现代编程语言都支持多种编程范式,比如C#和Visual Basic不仅支持面向对象编程,还通过引入Lambda表达式和类型推断等特性支持了函数式编程。这意味着开发者可以根据项目的实际需求灵活地选择最适合...
Java作为一种强大的面向对象编程语言,深入理解和掌握面向对象的设计方法对于任何Java开发者来说都是至关重要的。在Java中,面向对象主要体现在类、对象、封装、继承、多态这五个核心概念上。 首先,类是面向对象的...
在面向对象编程中,**类**和**对象**是最基本的概念之一,它们构成了OOP的基石。 1. **类的概念**:类可以被视为对象的蓝图或模板,定义了对象的属性(状态)和方法(行为)。一个类描述了一组具有相似特性和行为的...