看了oop启示录,还是不明白对象之间"发送消息"是什么意思

08-02-28 skywalkers
什么是一个对象向另个对象发送 消息啊?
书中一个例子是
aperson对象发送settime()消息给aclock对象
里面settime()是aperson对象的方法,还是aclock对象的方法呢?

[该贴被skywalkers于2008-02-28 23:02修改过]

adversedon
2008-02-29 12:32
我没有看过oop启示录,但是我看你写的,想法是这样:
aperson对象发送settime()消息给aclock对象

aperson 用settime()方法设置消息,然后aclock对象调用它自己的方法接收消息
就如:aclock是一个客户,他动用了某个事件,然后触发了aperson,而aperson调用
settime()方法设置相应的消息,之后aclock对象那边就get到信息!

不知道这样理解行不行,因为我没有看过oop启示录!

ghostv1
2008-03-13 16:21
完整的消息系统应该是:
1.产生消息
2.消费消息
这其中可能会有消息队列,来进行缓存和异步消息。
而现在oop中的消息是概念性的,即aperson产生一个消息(1),aclock使用setTime()来消费消息(2),这中间产生的消息是直接的,相当于aperson和aclock之间有个消息队列,只是被高级编程语言简化为对象方法的"调用"

nkhanxh
2008-03-17 20:59
个人认为,所谓消息,就是以极小信息量带来关键变化的数据。

这点很像废话,但是其实的确如此。

而你说的,则是实现消息机制的方法。
同步消息,异步消息。接受者函数,发送者函数。等等。各种实现都有。

我认为消息这个名词的引入,与其说有什么机关,不如说他是利用人类已有的对消息的理解,来形容计算机中的某些机制。算是方便之门吧。

ghostv1
2008-03-19 12:03
个人认为,所谓消息,就是以极小信息量带来关键变化的数据。
-------------------------------------------------
象“多米诺”骨牌

猜你喜欢