Требуется ли ввод для передачи сообщений? - PullRequest
2 голосов
/ 10 сентября 2009

Происходит ли передача сообщений при вызове функции без ввода?

т.е. с: object.toString();

Я передаю сообщение «объекту»?

Это может варьироваться в зависимости от языка, но я имею в виду Java.

Ответы [ 2 ]

3 голосов
/ 10 сентября 2009

Да. Передача сообщений относится к связи между объектами, поэтому любой вызов метода является передачей сообщений.

1 голос
/ 10 сентября 2009

да и нет ... передача сообщений - это модель ... единственные языки, которые я лично знаю, которые на самом деле используют эту семантику, это Smalltalk и Objective-C ... так что да, в том смысле, object.method() - это столько же сообщений, сколько object.method(param_1,param_2,...param_n) ... и нет, потому что object.method(param_1,param_2,...param_n) означает:

  1. поиск указателя функции для method in object
  2. вызывает эту функцию, передавая ей object, а также param_1,...,param_n

это абсолютно отражает семантику передачи сообщений, но, в конце концов, это простой вызов функции, как вы знаете это из процедурного программирования ... число параметров не меняет семантику модели или реализацию ... список параметров для текущего вызова просто содержит только object ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...