Вы называете их функциями, процедурами или методами?

считайте стандарт c# 'функцией'

общественность освобождает нечто () {//некоторый код}

В c или C++ это вызвано 'функция' - даже если, не беря параметров и не возвращая значения. На другом языке, возможно, это была бы 'процедура'. В объектной ориентации говорят, это назвали бы 'методом' если участник класса. Каков был бы правильный термин для использования в c#?

5
задан lowlyintern 7 May 2010 в 07:01
поделиться

8 ответов

  • Метод: функция класса.
  • Функция: функция вне класса, возможна только в полнообъектных языках (например, C ++, C и т. Д.)
  • Процедура: функция, которая ничего не возвращает / void. Мне лично не нравится это слово, я бы предпочел использовать «функция»

Сделайте свой выбор =)

Редактировать : Чтобы быть более точным, метод, функция и процедура - это ООП-слова для описания подпрограмма. Некоторые языки имеют свой собственный словарь, такой как «предикат» в Прологе, «конструктор» в C ++ / C # / Java или даже «свойство» в C #.

4
ответ дан 13 December 2019 в 19:23
поделиться

Метод - это термин ООП абстракция. Они описывают поведение (глагол) объекта. Они эквивалентны некоторым функциям и процедурам процедурного программирования. (свойства и т.д. также являются функциями и процедурами).

Итак, функция - это программа внутри программы, которая возвращает некоторые значения. Процедура - это программа внутри программы, которая что-то делает. Методы, свойства и т.д. и т.п. - это следующий уровень абстракции (используется в ООП). Они обернуты вокруг функций и процедур.

2
ответ дан 13 December 2019 в 19:23
поделиться

Если «Функция» является частью класса, я называю ее методом.

Если я кодировал на C (то есть на процедурной или не объектно-ориентированной идиоме), я называл бы это функцией.

Я лично не использую слово «процедура» для обозначения «функции»

1
ответ дан 13 December 2019 в 19:23
поделиться

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

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

0
ответ дан 13 December 2019 в 19:23
поделиться

Я подумал (в Аде), что «процедура» - это вообще правильный термин, а «функция» - это процедура, которая гарантированно будет побочной. Без эффектов, то есть он только считывает данные, выполняет манипуляции с ними и возвращает их, но ничего не записывает и не имеет каких-либо «побочных эффектов».

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

1
ответ дан 13 December 2019 в 19:23
поделиться

Чтобы еще больше запутать проблему: (из Спецификации языка C #)

7.4 Функциональные члены
Функциональные члены - это члены, которые содержат исполняемые операторы. Члены функций всегда являются членами типов и не могут быть членами пространств имен. C # определяет следующие категории функциональных членов:
* Методы
* Свойства
* События
* Индексаторы
* Пользовательские операторы
* Конструкторы экземпляров
* Статические конструкторы
* Деструкторы

И

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

Итак, «функция-член» или «метод» были бы правильными для C #.

2
ответ дан 13 December 2019 в 19:23
поделиться

Я думаю, что в C# это называется методом, потому что C# - объектно-ориентированный язык.

1
ответ дан 13 December 2019 в 19:23
поделиться

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

0
ответ дан 13 December 2019 в 19:23
поделиться