消息传递需要输入?

时间:2009-09-10 17:13:58

标签: java oop

在没有输入的情况下调用函数时是否发生了消息传递?

即。用:object.toString();

我是否将消息传递给'对象'?

这可能因语言而异,但我特指的是Java。

2 个答案:

答案 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)表示:

  1. method
  2. 中查找object的函数指针
  3. 调用该函数将object以及param_1,...,param_n传递给它
  4. 这绝对捕获了​​消息传递的语义,但最后,这是简单的函数调用,因为你从过程式编程中知道它...参数的数量既不会改变模型的语义,也不会改变实现......实际调用的参数列表仅包含object ...

相关问题