社区
研发管理
帖子详情
对Design By Contract中的不定式理解比较模糊,哪位大牛能举个简单生动的例子?
initora
2003-03-25 03:00:19
解释一下,先谢了!
...全文
42
7
打赏
收藏
对Design By Contract中的不定式理解比较模糊,哪位大牛能举个简单生动的例子?
解释一下,先谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Schlemiel
2003-03-27
打赏
举报
回复
不变式只是一个概念,你可以用很多种方法来实现它。譬如你可以让编译器在每个方法的前后加上断言(Eiffel的办法),也可以让虚拟机随时检查(好象没有哪个语言这样做的)。建议你先看看Eiffel的文档,尤其是关于DBC的那一段,自然就明白了。
另外推荐你一本书:裘宗燕翻译的《从规范出发的程序设计》(Programming from Specification)。
initora
2003-03-27
打赏
举报
回复
谢谢Schlemiel(维特根斯坦的扇子) ,那是不是说不变式(invariant)一般都是以类的属性的方式来实现的?
okareo
2003-03-25
打赏
举报
回复
什么意思?
Schlemiel
2003-03-25
打赏
举报
回复
不定式?还是不变式?
termite
2003-03-25
打赏
举报
回复
到文档中心去查阅,那里就有。
Schlemiel
2003-03-25
打赏
举报
回复
早说是不变式就好了嘛。
不变式(invariant)是类的一种属性,该类派生的所有对象必须在所有时候满足不变式的要求。例如,对于一个stack,它的不变式就可能是top>bottom。在任何时候,只要出现了!(top>bottom)的情况,运行时环境就会报一个最严重的错误。
在Eiffel中,不变式是以断言(assert)的形式来实现的。仍以上面的例子:编译器会在每个方法调用的前后加上类似于assert(top>bottom)的语句,一旦某个方法违背了这个不变式,断言即出错,抛出不可捕捉的异常,终止运行。
请注意:在这种实现方式中,实际上并不要求“任何时候”都遵守不变式。在Eiffel中,你可以在每个方法的内部随便操作,只要保证方法开始执行之前和执行完成之后满足不变式就可以了。
initora
2003-03-25
打赏
举报
回复
对不起,写错了,是"不变式".
termite(为了得分,到处接分...别忘放分,多给),能给出链接地址吗?我找不着
英语词根单词记忆. 包含大量自己对于词根的
理解
. 方便大家记忆使用.
2021-12-17,9点25======下面...使用这个软件的原因是因为,这个软件只要你tab同级的行号的右边就会自动出现一个向下箭头,就可以进行折叠,方便快速找到逻辑层次.#资料来源 考研英语词汇大全词根+词缀记忆法 俞敏洪编著 ...
真正的面向对象编程思想是怎样的?
2、对每个对象(小问题)进行分析,抽象,提取处共同的内容(数据成员和操作方法), 3、有相似的对象的,构造基类;再有基类派生出各个确定的对象(小问题); 4、解决问题的过程就是操作这些对象...
简单
英译汉SQL脚本
create table t_dictionary(word varchar(200), trans varchar(1000)); insert into t_dictionary values('abandon','v.抛弃,放弃'); insert into t_dictionary values('abandonment','n.... insert into t_...
一个C++程序员的学习经历
我开始学VC时就是自己一个人在啃,也没什么人指导,当时没有条件上网,资料特别少,在书店里随便买本书就学了,在学VC的过程
中
走了许多弯路,现在回想起来觉得做了很多无用功。看见大家在这里畅所欲言,有高手也有新...
用C语言写一个查单词的小demo
用C语言写一个查单词的小demo #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) { // 用只读的方式打开我们的单词库 FILE *fp = fopen(...
研发管理
1,265
社区成员
28,324
社区内容
发帖
与我相关
我的任务
研发管理
软件工程/管理 管理版
复制链接
扫一扫
分享
社区描述
软件工程/管理 管理版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章