В чем разница между методом и функцией? - программирование
Подтвердить что ты не робот

В чем разница между методом и функцией?

В чем разница между методом и функцией? Это значит, что метод возвращает значение, а функция не работает?

4b9b3361

Ответ 1

Метод - фактически функция, используемая в контексте класса/объекта.

Когда вы создаете функцию вне класса/объекта, вы можете называть ее функцией, но когда вы создаете функцию внутри класса, вы можете назвать ее методом.

class foo {
   public function bar() { // a method
     ........
   }
}

function bar() {  // a function not part of an object
}

Таким образом, объект может иметь методы (функции) и свойства (переменные).

Ответ 2

Слова не противоречат друг другу, а скорее описывают два возможных аспекта подпрограммы. Попытка определить слова следует:

Подпрограмма: Набор инструкций, которые можно использовать несколько раз в одной программе.

Функция: Подпрограмма, которая возвращает значение. Производится из функций в математике (wikipedia).

Метод:. Подпрограмма, принадлежащая объекту или классу. Может быть функцией.

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

Ответ 6

Мы определяем метод внутри класса, определяем функцию из бокового класса, функция не является частью класса

Ответ 7

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

package {class Example {
  public function iAmAMethod():void {
     addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void {
        trace("inline function, yay!");
     });
  }

}