泛型编程和面向对象编程区别

ppk_master 2009-08-29 11:55:41
1.面向对象:封装(数据抽象)是基础,继承是手段,多态是目的;泛型编程:参数化类型(概念抽象)是基础,模板是手段,通用是目的

2.面向对象是运行时问题空间的多态,泛型编程是编译时算法空间的多态

3.OO以Type为中心,GP以Concept为中心,而Concept完全独立于Type;OO的type是显式定义的,type之间的关系也是显式定义的,是语言支持的 ;GP的Concept是由算法隐式定义的,Concept之间的关系,是无法用目前的C++语法直接表达的;Concept的Model完全可以是毫无关系的Type,refinement独立于inheritence,original concept与其refinement concept的model之间可以毫无关系

4.以GP写就的算法,自动满足最小接口原则,无需为其参数定义形式化的类型;在OO中,这种形式化的Type具有的操作往往不是所有用到该Type的算法都会用到的

5.OOP支持二进制组件形式的复用,GP支持源码层级的复用;与二进制码相比较,源码天生具有更多信息和更高级别,所以泛型编程支持更丰富的构件,但其代价是较弱的执行期动态性;你无法通过STL完成CORBA所能完成的功能,反之亦然,两种技术相互补充

本文来转自CSDN博客 http://blog.csdn.net/wuliaoshengji/archive/2005/08/10/449870.aspx
欢迎大家补充。。

...全文
801 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
24K純帥 2009-09-03
  • 打赏
  • 举报
回复
up
BuleRiver 2009-09-02
  • 打赏
  • 举报
回复
STL,GP的典范啊,呵呵
zgqiangha 2009-09-02
  • 打赏
  • 举报
回复
up!!
Victor_Dinho 2009-09-02
  • 打赏
  • 举报
回复
up~~~
crazyxf 2009-09-02
  • 打赏
  • 举报
回复
oop是个设计思想,泛型是个通用处理的实现手段,好像没啥可比性吧
zgjxwl 2009-09-02
  • 打赏
  • 举报
回复
要继续讨论啊。。。
tutu08 2009-09-02
  • 打赏
  • 举报
回复

知识更新速度
总是大于
知识积累速度
郁闷呀
amossavez 2009-09-02
  • 打赏
  • 举报
回复
支持一下!
bfhtian 2009-08-31
  • 打赏
  • 举报
回复
up
y_3llng 2009-08-30
  • 打赏
  • 举报
回复
接分...

写得不错~
mengde007 2009-08-30
  • 打赏
  • 举报
回复
要继续呀;
zhongjiekangping 2009-08-30
  • 打赏
  • 举报
回复
good good study
qqiuzaihui 2009-08-30
  • 打赏
  • 举报
回复
学习
zenny_chen 2009-08-30
  • 打赏
  • 举报
回复
说得很不错。
leizhe 2009-08-29
  • 打赏
  • 举报
回复
泛型和面向对象能结合起来是什么

模版类 派生模版类 。。。。。
fallening 2009-08-29
  • 打赏
  • 举报
回复
写得可真拗口
wanjingwei 2009-08-29
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
up
herman~~ 2009-08-29
  • 打赏
  • 举报
回复
呵呵 学习
thy38 2009-08-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 leizhe 的回复:]
泛型和面向对象能结合起来是什么
[/Quote]

看看《C++设计新思维》(《Modern C++ Design》)就知道了,Andrei Alexandrescu把泛型和面向对象(设计模式)完美地结合在了一起,连候捷都说:想不到。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧