- 浏览: 119383 次
- 来自: ...
文章分类
最新评论
-
面向对象:封装(数据抽象)是基础,继承是手段,多态是目的;泛型编程:参数化类型(概念抽象)是基础,模板是手段,通用是目的
-
面向对象是运行时问题空间的多态,泛型编程是编译时算法空间的多态
-
OO以Type为中心,GP以Concept为中心,而Concept完全独立于Type;OO的type是显式定义的,type之间的关系也是显式定义的,是语言支持的 ;GP的Concept是由算法隐式定义的,Concept之间的关系,是无法用目前的C++语法直接表达的;Concept的Model完全可以是毫无关系的Type,refinement独立于inheritence,original concept与其refinement concept的model之间可以毫无关系
-
以GP写就的算法,自动满足最小接口原则,无需为其参数定义形式化的类型;在OO中,这种形式化的Type具有的操作往往不是所有用到该Type的算法都会用到的
-
OOP支持二进制组件形式的复用,GP支持源码层级的复用;与二进制码相比较,源码天生具有更多信息和更高级别,所以泛型编程支持更丰富的构件,但其代价是较弱的执行期动态性;你无法通过STL完成CORBA所能完成的功能,反之亦然,两种技术相互补充
发表评论
-
Architecture is layered
2004-12-11 11:57 379那天被问道软件架构师需要了解编程语言的细节吗? 呵呵,架构是 ... -
Thinking Everyday
2004-12-11 12:01 4401,编程语言的发展趋势 ... -
糟糕命名集锦
2004-12-11 16:50 5741,公交支线,如375和375 ... -
古代的软件开发 (一)
2005-02-19 16:45 6781,额外的中间层鞋子:人类发明鞋子的意义无论如何评价都不过分, ... -
访问控制 : 语言和平台
2005-03-15 19:27 616程序逻辑上的组织方式(如名称空间,包等)可以和部署时的分发 ... -
Thinking Everyday II
2005-03-17 15:11 6211, 是业务,不是技术,傻瓜 是集成,不是编程 是使用,不 ... -
内容与标准为王:下一代互联网与下一代搜索
2005-07-25 14:53 710第一代互联网混淆了真正的数据和它的表现形式,第一代搜索无法 ... -
个性与定制为王:下一代互联网和下一代门户
2005-07-28 11:28 612看一下现在我与互联网有关的生活:我有两三个常用的Web邮箱 ... -
函数式编程 vs. 对象式编程
2005-08-10 14:44 651<<我爱我家>>有一集和平摔成了脑 ... -
用手机从ATM取钱
2005-11-21 22:49 697手机的以下两个特性,使它潜在的可能成为统一的支付和信用平 ... -
Web 3.0 : Unified Human-like Interaction
2006-01-14 16:31 700你还在到搜索引擎的主页上去搜索吗?你还登录新闻网站查询最新比赛 ... -
软件生物学
2006-01-14 16:59 651长久以来,软件的建筑学隐喻已经深入人心,可始终无法达到建筑 ... -
广义对象论
2006-01-25 15:31 713前几天本想接着以前的思维中对“3.2 Programming ... -
Thinking Everyday III
2006-03-26 14:17 7921, RAII让我告别了delete,IoC让我告别了ne ... -
简单至及的AOP和IOC
2006-03-26 14:21 664I. AOP的例子 1, Google To ... -
TDD: Tricky Driven Development
2007-05-10 07:07 599命名 测试用例的名字应该描述需求, 不要描述实现. ... -
Thinking Everyday IV
2007-05-15 04:36 5281, 实际上 C# 2.0 已经部 ... -
迭代本质论
2008-02-14 13:58 633新年伊始, 可能你又要制定一些计划了, 实际上, 你的生活在开 ... -
建筑的永恒之道
2004-08-10 18:31 6542,质 这种特质是任 ... -
姑苏慕容与软件开发
2004-10-06 11:47 635一,逆向工程 那女子 ...
相关推荐
与面向对象编程不同,泛型编程不依赖于多态和继承机制,而是通过类型参数化来实现代码的通用性。 - **STL(Standard Template Library)**:是C++标准库中泛型编程的最佳实践案例。STL包括了一系列的容器(如向量、...
STL的设计遵循了面向对象和泛型编程的原则,使得代码更易于理解和维护。 3. 容器:STL容器如vector和list,提供了动态存储和组织数据的方式。vector是动态数组,支持随机访问,而list则由双向链表组成,适合频繁的...
面向对象程序设计中,泛型编程风格是一种强大的编程方法,它可以提供高度的代码重用性和类型安全性。在C++中,STL(Standard Template Library,标准模板库)是泛型编程的重要工具,它包含了抽象容器和泛型算法两大...
泛型在编程领域中是一种强大的工具,特别是在C#这样的面向对象语言中,它极大地提高了代码的灵活性、可读性和复用性。这个"3个泛型项目源码.rar"压缩包包含的三个项目,无疑为学习和理解泛型在实际项目中的应用提供...
这种一致性通常与面向对象编程中的继承机制有关。 #### 泛型编程的优点 1. **效率**:通过静态多态,泛型编程可以在编译时生成针对特定数据类型的优化代码,从而避免了运行时的间接调用开销,提高了程序的执行效率...
相比于传统的面向对象编程,泛型提供了更高层次的抽象,使得同一段代码能够适用于多种不同的数据类型,而无需针对每种类型重复编写相似的代码。在Java中,泛型的引入极大地提升了代码的类型安全性,消除了不必要的...
2. 设计模式:设计模式是软件工程中解决常见问题的经验总结,是面向对象编程中的最佳实践。书中可能涵盖了常见的23种GOF设计模式,如工厂模式、单例模式、观察者模式等。理解并熟练运用这些模式,可以帮助开发者构建...
内容概要:本文详细介绍了C++的基础知识点,涵盖面向对象编程(OOP)、内存管理、模板与泛型编程以及标准库(STL)等内容。首先讲解了C++的面向对象特性,包括封装、继承和多态。接着讨论了内存管理,涉及动态内存...
面向对象程序设计中的集合框架与泛型是Java编程中至关重要的概念,主要用于高效地存储、管理和操作对象。在这个实验报告中,我们将深入探讨这两个主题。 首先,Java集合框架是一个统一的架构,它提供了多种接口和类...
早期的面向对象语言,如Java,通过使用单一基类(如`Object`)的方法来实现泛型容器,这种方式在C++中并不适用,原因在于: 1. **单根继承的限制**:C++中不强制实行单根继承,这意味着不能简单地通过所有对象继承...
在C# 2.0版本中引入的泛型编程是面向对象编程的一个强大扩展,它允许程序员编写类型安全、可重用的代码,而无需进行运行时类型转换或使用低效的对象数组。泛型提供了类似于C++模板的功能,但更加强大且类型安全,...
4. 泛型与面向对象设计的结合:探讨如何在使用泛型编程的同时,有效利用C++的面向对象特性,如继承、多态等,以达到最佳的设计效果。 5. 性能优化:讨论泛型编程和设计模式如何帮助优化程序性能,减少运行时开销,...
在Java、C#、C++等面向对象的语言中,泛型被广泛应用。本篇将深入探讨泛型编程技术,包括其概念、优势、使用方式以及在不同语言中的实现。 首先,让我们理解什么是泛型。泛型是一种编程技术,它允许我们在定义类、...
【理学继承接口与泛型】是编程领域中关于面向对象设计的重要概念,主要涉及到类的继承、接口的使用以及泛型的应用。以下是对这些知识点的详细解释: 1. **类继承**: - 类继承是面向对象编程的一个关键特性,允许...
《C++设计新思维:泛型编程与设计模式之应用》这本书深入探讨了C++语言在泛型编程和设计模式中的应用,对于理解和提升C++编程能力有着重要的指导价值。以下将围绕这些主题展开详细讨论。 一、泛型编程 泛型编程是...
Java是一种广泛使用的编程语言,它具有面向对象、平台无关性以及强大的社区支持等特点。Java基础入门系列是帮助初学者掌握Java编程的重要学习材料,本篇主要介绍了泛型、反射和注解这三大高级特性。 泛型是Java SE ...
c C++ 是一种广泛使用的编程语言,它是 C 语言的扩展,支持面向对象编程(OOP)、泛型编程和过程化编程。C++ 因其高效、灵活和强大的特性而被广泛应用于系统/应用软件、游戏开发、图形处理、嵌入式系统、科学计算等...
面向对象编程(Object-Oriented Programming,简称OOP)是软件工程中的一种核心编程范式,它强调将现实世界中的实体抽象为类,通过对象来表示数据和操作数据的方法。在本压缩包“软件工程面向对象编程教材及课件.zip...
《VC++2005泛型编程7》是面向初学者和进阶者的一堂视频教程,旨在深入探讨Microsoft Visual C++ 2005中的泛型编程技术。泛型编程是C++的一个强大特性,它允许开发者编写不依赖特定数据类型的代码,从而提高代码的...