高手帮忙解释一下:过程模型,抽象数据类型模型,面向对象模型 的程序设计方法的差别!!

wanamaker 2002-06-21 12:01:14
最好具体一点,有例程说明!!谢啦!!
...全文
63 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
merlinran 2002-10-17
  • 打赏
  • 举报
回复
如果你用到多态,大概就是面向对象了,也就是说你叫某个对象做什么,却不需要知道它到底是什么,只需要知道它能做什么。
ADT只是把现实中的对象封装起来,将属性和行为联系在一起。对ADT来说,你就要确切地知道它是什么。所以,继承在ADT里就没有多少语义了
zfluo 2002-06-27
  • 打赏
  • 举报
回复
很多时候,这几个模型是很难彻底区分开来的,
通常都是混合起来使用。至于要判断一段程序
到底属于哪一个模型,就要看着重点在哪,概念
和实际毕竟还是有点差别的
clickyy 2002-06-21
  • 打赏
  • 举报
回复
你的问题在于基于对象和面向对象的概念没有区分开。

看看c++ primer,再好好理解一下,最好自己先理解

别人说得都不会比自己理解的好!
Hpt370 2002-06-21
  • 打赏
  • 举报
回复
是一本影印版的教材,超级厚,清华出版社
wanamaker 2002-06-21
  • 打赏
  • 举报
回复
Hpt370(土土)
哪里有Objcet Oriented Software Construction的电子书下载呢?
xierunyu 2002-06-21
  • 打赏
  • 举报
回复
stanley lippman的inside the c++ object model给了很好地解释.
Hpt370 2002-06-21
  • 打赏
  • 举报
回复
你问的是整个面相对象理论的基础。这几个模型函盖了程序设计历史的几十年发展,很难一句话讲清楚。

建议你去看面相对象的理论书,推荐:Objcet Oriented Software Construction
wanamaker 2002-06-21
  • 打赏
  • 举报
回复
看了lippman的inside the c++ object model,但不大懂
为什么下面这段程序是ADT Model:
String girl = "anna";
String daughter;
...
daughter = girl;
...
if(girl == daughter)
take_to_disneyland( girl );
而这一段是OO Model:
void check_in( Library_materials *pmat )
{
if ( pmat->late() )
pmat->fine();
pamt->check_in();

if ( Lender *plend = pmat->reserved() )
pmat->notify( plend );
}
不懂啊!!!
那位大侠解释一下,Thanks.
}
ttzzgg_80713 2002-06-21
  • 打赏
  • 举报
回复
gz
zfluo 2002-06-21
  • 打赏
  • 举报
回复
看书啦

64,685

社区成员

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

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