-
2009-07-21
CLIPS中文用户手册(25) - [日志纪事]
第九章 富有意义的消息取悦你上司的好处总是比取悦你的下属要多。---鲍文
在本章中,你将学到许多关于类和对象调用实例的方法。同时,你也将学到怎样利用槽值指定类的属性,怎样发送消息到对象。
OOP特性在第一章中,我们已经学习了继承的基本观点。OOP中的继承之所以如此重要,缘自于:继承允许了定制软件(customized software)的最简结构。对于“定制软件”,我们指的并不是胡乱拼凑起来的软件,而是,它接近于带有... -
2009-07-16
CLIPS中文用户手册(24) - [日志纪事]
有一个抽象类(abstract class)专门为继承设计。抽象类USER不能有直属实例(direct instance)为之定义,而是作为实例直接定义给类。除了类信息,类的优先继承也被表示。这是一个顺序表(ordered list),从顺序表左到右表示了实例的类的优先等级。继承优先列出了所有类到根类OBJECT的超类。同时,你也可以看到直接超类信息指示了这些超类为一个类的上部链接,同时继承优先表显示了所有的超类。
即使一个类没有直接实例,如果它的子类有实例,则它也有直接实... -
自从离开了小学,每年的六一儿童节往往就只是同学、朋友见面时的一句调侃了,并不曾刻意的回味起儿时节日里的那些欢乐。那些虽是永恒值得珍惜,却不愿在自以为是已经长大后的梦里再现,一股倔强的傻气。年年如此,那些逝去的,还伴着儿时伙伴甜声笑语的记忆,却一刻也不曾离我远去,越长大,越孤单,更自觉的在每晚睡梦中去认真找寻彼时的欢乐。那失去的,不再拥有的童年,永远值得纪念。
我能记起的我的第一个儿童节是在小学一年级,老师挑选了几十个小伙伴... -
当昨天在7楼会议室里,听到王教授宣布授予我工学硕士学位的决定时,我鼻子旁边的一块肌肉不由的跳动了一下,几乎控制不住内心的感概。王教授问我对决定有什么异议的时候,我夸张的笑了一声,说没什么异议,谢谢大家。与两位导师合影,再与答辩评议会的5位教授合影完后,我作为学生的最后一张笑脸便定格在存档的相片上了。
回到电脑前,不禁心潮澎湃,学生生涯终于告一段落了,算算不容易,已有二十余载。这段... -
2009-05-12
能踩到底,就有了安全感 - [精彩引用]
在水里走着走着,忽然,一脚踩个空,那是什么滋味?在人生的路途上跋涉而行,忽然,你跌进深渊,那又是什么滋味?有一首古老的词这样写着:“常恨人心不如水,等闲平地起波澜。”在水里行,需感觉到大地的扶托,在生命途中行,也需要把握到某种力量的呵护。
希腊神话里有一个寓意极深的故事,说到一个巨人,由于他的母亲是大地,所以,只要他的两脚踩在大地上,他与敌人交锋便永不败北,后来,... -
2009-05-06
CLIPS中文用户手册(23) - [日志纪事]
查看 CLIPS提供了许多查看类信息的函数,如谓语函数,用来检测一个类是否为另一个类的超类或子类。
如果<class1>为<class2>超类,superclassp函数返回TRUE,否则返回FALSE。如果<class1>为<class2>的子类,subclassp函数返回TRUR,否则返回FALSE。两函数的通用格式为:
(function <cla... -
2009-05-04
CLIPS中文用户手册(22) - [日志纪事]
非法继承类 现在你已经对类有了初步的认识,让我们在图表1.1的UPPIE中增加一些其他的类,以使的例子更具有实际意义。通过增加低层类的开发类型正是OOP的方式,由最一般到最特殊的方式增加类。
图1.5所示的是非合法YUKKIE的继承图表。为了简便,这里没有标出OBJECT和USER类。图1.5是一个树(tree)形分级系统,每个节点有唯一的父节点。
一个常见的树形组织结构例子是经常用在公司中,由总裁,副总裁,部门领导,... -
2009-04-28
CLIPS中文用户手册(21) - [日志纪事]
继承一个例子,假设我们想定义一个类,名为UPPIE(优皮),是城市专业人员(urban professional)的口语化称呼。注意在本书中,我们都采用以大写来书写类的惯例。
图1.1说明了UPPIE们怎样从根类OBJECT中得到继承的。注意,UPPIE被作为USER的子类来定义。盒子或节点用来表示类,连接箭头被称为链接(links)。直线常被用来代替箭头以便简化画图。同理,因CLIPS仅支持is-a链接,从现在起,“is-a”关系将不被靠近每个... -
2009-04-27
CLIPS中文用户手册(20) - [日志纪事]
第八章 继承事项 获取财富最简单的办法莫过于继承遗产,其次就是剥削他人的劳动,与财富联姻太像一项工作了。
本章为CLIPS面向对象编程的概述章节。与基于规则的编程不同,基于规则的编程中,你可以不用考虑系统中其它的东西,而及时投入进去,编写规则,而面向对象的编程需要许多重要的背景资料。
如何客观 好的程序设计的一个重要特性是应具有灵活性(flexibility)。不幸的是,结构化编程技术刻板的方法论不能提供快速,可靠和高效变化的灵活性。面向对象编... -
2009-04-24
CLIPS中文用户手册(19) - [日志纪事]
效率问题 CLIPS是基于规则的语言,使用了高效的模式匹配算法,即Rete算法,该算法是由卡内基-梅隆大学的Charles Forgy和他的OPS团队设计出来的。Rete在拉丁语中是网(net)的意思,用来描述模式匹配过程中的软件结构。
很难给出一个精确的规则能够总是促进在Rete算法下程序运行的效率。然而,下面的几点可以作为有所帮助的一般指南:
1.将最明确的模式放在规则首位。无界变量和通配符的模式应该放在规则模式的后面。一个控制事实应该放在模...







