Как называется левая часть вызова метода?

Учитывая следующую строку

cat.meow(10, x);
  • "мяу" - это вызываемая "функция" или "метод"
  • 10 - это "первый аргумент"
  • x - это "второй аргумент"

Как называется cat?

Я недоволен ответом, cat называется "объект". Я хочу сказать, что слышал, как это называется «приемник», но я не помню, где я это слышал.

Учитывая, что и 10, и x могут быть объектами, обращение к cat как к объекту не помогает мне отличить этот компонент от компонентов-аргументов.

Это затрудняет обсуждение различных компонентов, составляющих вызов функции.


person Mulan    schedule 22.11.2014    source источник
comment
Не уверен, что правильно, но я бы назвал это переменной.   -  person takendarkk    schedule 22.11.2014
comment
использование литерала в левой части не будет переменной. Было бы неплохо иметь возможность обсудить и компоненты этого типа выражения. [1,2,3].forEach(foo);   -  person Mulan    schedule 22.11.2014
comment
В smalltalk и Objective-C это будет получатель, поскольку в этих языках вы передаете сообщения, а не вызываете функции. В языке ООП кошка будет объектом, поскольку у объектов есть методы, и вы вызываете метод.   -  person James Black    schedule 22.11.2014
comment
Не уверен, почему это помечается как основанное на мнении. Вызов c в a.b(c) и аргументе не является мнением.   -  person Mulan    schedule 22.11.2014
comment
А как насчет callee?   -  person poida    schedule 22.11.2014
comment
@poida: Обычно мы вызываем meow вызываемого абонента.   -  person slebetman    schedule 24.11.2014
comment
Отказ признать, что объект называется объектом, является мнением.   -  person slebetman    schedule 24.11.2014


Ответы (3)


Он называется подлежащим после subject-verb-object структура предложения, которую имитирует объектно-ориентированное программирование:

cat.meow(10, x);
|_||___||_____|
 |   |     |
 |   |     +--> object (the arguments list is a tuple object)
 |   |
 |   +--> verb (the verb is the method name with the dot)
 |
 +--> subject (quite self explanatory)

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

person Aadit M Shah    schedule 07.06.2015
comment
Спасибо, это именно то, что я искал. - person Mulan; 07.06.2015

Объект — это экземпляр определенного класса. Вы можете использовать его, чтобы сказать, что cat является экземпляром класса [укажите здесь имя класса], точно так же, как 10 является экземпляром Integer.

person JulienD    schedule 22.11.2014

Обычно мы называем этот объект. По вашей логике воспринимайте так

мяу(я,10, х) - Это фактическая функция, где я является объектом, например 10 и х

То же самое в этом случае - cat.meow(10,x)

person Amal Ts    schedule 22.11.2014