Термин «функция» действителен в c #? - PullRequest
4 голосов
/ 06 октября 2011

Я только начал третий год обучения по вычислительной технике и изучал материалы курса. Мой модуль разработки приложений основан на c #. Во всем материале лектор ссылается на то, что, как я знаю, называется «методами» как «функциями». Я знаю, что термин «функции» используется (например) c ++ как блок кода, но я подумал, что ООП использовал «метод», чтобы различать два разных типа программирования.

Итак, являются ли они взаимозаменяемыми или лектор использует термин «методы»?

Ответы [ 2 ]

8 голосов
/ 06 октября 2011

В спецификации C # 3.0 написано

1,3

Тип класса определяет структуру данных, которая содержит члены данных (поля) и члены-функции (методы, свойства и др.).

1.6.7

Члены, которые содержат исполняемый код, все вместе известны как члены функции класса. В предыдущем разделе описаны методы, которые являются основным видом функциональных членов. Этот раздел описывает другие виды функций-членов, поддерживаемые C #: конструкторы, свойства, индексаторы, события, операторы и деструкторы.

И, конечно, "анонимные функции" называются именно этим термином. Фраза «член функции или анонимная функция» встречается в спецификации много , очевидно, не существует точного более короткого способа сказать «кусок исполняемого кода».

2 голосов
/ 06 октября 2011

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

Напротив, операция или подпрограмма могут не иметь возвращаемого значения и вместо этого иметь некоторый побочный эффект. Императивное программирование опирается на такие вещи. Единственный язык, с которым я активно работал, заставлял вас заявлять об этом, это Visual Basic (sub и function). В C # вы просто объявляете void типом возврата, если у вас нет функции в классическом смысле.

Термин метод был придуман AFAIK, чтобы отличать объектно-ориентированное программирование от других стилей. Тогда функция, которая является частью (членом) объекта, будет методом.

Надеюсь, это поможет.

...