以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 软件工程论坛 』   (http://bbs.xml.org.cn/list.asp?boardid=48)
----  OCL简明描述  (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=31961)


--  作者:pennyliang
--  发布时间:5/9/2006 11:27:00 AM

--  OCL简明描述
说道这个不得不提到Eiffel语言,我觉得实在是太精美了,该语言本身就支持了完备面向对象语义。
对象的暴露的接口,是没有顺序限制的,比如interface1,interface2,这个和结构化编成不同,结构化编程,我们在写一个程序的时候,该程序的调用顺序已经存在,至少存在在我们的脑子里,而面向对象,是用名词描述符来描述方法的,强调的对象,方法的控制力上很弱,那么就必须要使用OCL来做进一步约束。举个例子
some object
    接口1:获得时间
    接口2:获得金钱
    接口3:旅游
很明显,类不需包含这样的语义,接口3,必须在接口1,接口2调用后才可以合法调用,而接口1和接口2的顺序不需要很严格,如果结构化编程很可能是这样。
1)获得时间
2)获得金钱
3)旅游
而OCL约束下的面向对象编程可能是这样
getmoney()
precondition ...
postconditon own_money

gettime()
precondition ...
postcondition own_time

goout()
percondition  own_time,own_money
postcondition...


--  作者:xingshaomin
--  发布时间:10/13/2007 10:55:00 PM

--  
。。。。。。。。。。。。。。。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms