В чем разница между методом и функцией? Это значит, что метод возвращает значение, а функция - нет?В чем разница между методом и функцией?
ответ
Метод Фактически функция используется в контексте класса/объекта.
При создании функции вне класса/объекта, вы можете назвать это функцией но при создании функции внутри класса, вы можете назвать это методом.
class foo {
public function bar() { // a method
........
}
}
function bar() { // a function not part of an object
}
Таким образом, объект может иметь методы (функции) и свойства (переменные).
Это очень хороший ответ, очень ясный. Благодарю. – Ben
Методы должны быть вызваны так '$ this-> bar()' если внутри этого класса, в противном случае вы должны сначала создать экземпляр класса, а затем вызвать его с помощью экземпляра класса (объекта), например: '$ foo-> bar() '. Для функций это просто 'bar()'. – knownasilya
Вы узнаете что-то новое каждый день. –
В одной строке метод является функцией, но функция не обязательно является методом. Разница заключается в том, что метод используется для описания функций, определенных в классах, которые используются с экземплярами этих классов.
package {class Example {
public function iAmAMethod():void {
addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void {
trace("inline function, yay!");
});
}
}
Разница между выражениями «метод» и «функции» является то, что «метод» является функцией членом класса, в то время как автономная функция не делает, и автономной функции, как правило, существует в глобальном контексте.
Оба используются взаимозаменяемо, но функция - это терминология, используемая в структурных языках, а метод - это терминология, используемая в объектно-ориентированных лангауагах. Также существуют методы внутри объектов, в то время как функции могут существовать и без объектов.
Слова не противоречат друг другу, а скорее описывают два возможных аспекта подпрограммы. Попытка определить слова следует следующим образом:
Подпрограмма: Набор инструкций, которые можно использовать несколько раз в одной программе.
Подпрограмма, возвращающая значение. Выведено из функций по математике (wikipedia).
Способ: Подпрограмма, принадлежащая к объекту или классу. Может быть функцией.
Я обычно использую слово «функция» для каждой подпрограммы, которая не имеет побочных эффектов, но возвращает одно чистое значение и слово «метод» для каждой подпрограммы, которая имеет побочный эффект.
Это определения подпрограммы и функции, используемые в Fortran, одном из первых языков высокого уровня. Это было очень давно. Я не могу думать о современном языке, который использует «подпрограмму» в качестве ключевого слова. В языке C используется «функция» для обоих, и именно так используется большинство других языков. (У вас все в порядке для метода.) –
Но вопрос ничего не говорит о ключевых словах. Это терминологический вопрос о том, как описать код на разговорном языке. Я могу порекомендовать статью wikipedia http://en.wikipedia.org/wiki/Subroutine – Jonatan
@MarcRochkind Не работает (Visual Basic), определяя функции с помощью ключевого слова 'Sub'? – Byson
Функция - это общий термин, который будет использоваться в процедурном программировании, где Метод - это термин, который будет использоваться в объектно-ориентированном программировании для определения свойства класса.
Определит метод внутри класса, мы определяем ВНЕ стороны класса, функция не является частью класса
- 1. Разница между функцией и методом
- 2. Разница между функцией и методом?
- 3. В C++, в чем разница между методом и функцией
- 4. Разница между следующей функцией и следующим методом
- 5. В чем разница между функцией и функцией
- 6. В чем разница между функцией и функцией *
- 7. В чем разница между Оператором и Методом?
- 8. В чем разница между методом и полем?
- 9. В чем разница между методом и протоколом
- 10. В чем разница между свойством и методом?
- 11. В чем разница между алгоритмом и методом
- 12. В чем разница между статическим методом и нестатическим методом?
- 13. В чем разница между методом расширения и статическим методом?
- 14. В чем разница между методом Java и родным методом?
- 15. В чем разница между функцией модуля, методом экземпляра и методом класса в Ruby-модулях?
- 16. В чем разница между «функцией», «методом» и «методом привязки» в Python 3?
- 17. В чем разница между функцией и меткой?
- 18. В чем разница между алгоритмом и функцией?
- 19. В чем разница между подпрограммой и функцией?
- 20. В чем разница между Op и функцией
- 21. В чем разница между функцией() {}() и функции() {}()
- 22. В чем разница между событием и методом в jQuery
- 23. В чем разница между «функцией» и «функцией!» в VIM?
- 24. В чем разница между функцией var и функцией в javascript?
- 25. Поведенческая разница между украшенной функцией и методом в Python
- 26. В чем разница между функцией async.compose и функцией underscore.compose?
- 27. В чем разница между функцией (myVar) и (функцией) myVar?
- 28. В чем разница между функцией void и функцией float?
- 29. В чем разница между функцией скрипта и функцией кода?
- 30. В чем разница между функцией обратного вызова и регулярной функцией?
Там действительно нет никакой технической разницы в PHP. Но, на мой взгляд, функция - более математическая вещь; он не изменяет состояние, возвращает только значение (например, f (x) = 2x).Метод изменяет состояние (например, выводит «привет мир») и может возвращать значение. Это в основном обман: http://stackoverflow.com/questions/43777/method-vs-message-vs-function-vs Надеюсь, это ответ на ваш вопрос. – Tyler
Функция имеет смысл в большинстве языков программирования, не связанных с ее значением в математике. –