在没有输入的情况下调用函数时是否发生了消息传递?
即。用:object.toString();
我是否将消息传递给'对象'?
这可能因语言而异,但我特指的是Java。
答案 0 :(得分:3)
是。消息传递是指对象之间的通信,因此任何方法调用都是消息传递。
答案 1 :(得分:1)
是和否...... 消息传递是一个模型 ...我个人所知的唯一语言,实际上使用这些语义的是Smalltalk和Objective-C ...所以是的,在感觉object.method()
传递的消息与object.method(param_1,param_2,...param_n)
一样多...而且没有,因为object.method(param_1,param_2,...param_n)
表示:
method
object
的函数指针
object
以及param_1,...,param_n
传递给它这绝对捕获了消息传递的语义,但最后,这是简单的函数调用,因为你从过程式编程中知道它...参数的数量既不会改变模型的语义,也不会改变实现......实际调用的参数列表仅包含object
...