¿Cuál es la diferencia entre un método y una función? ¿Es que un método devuelve un valor y una función no?¿Cuál es la diferencia entre un método y una función?
Respuesta
Método es realmente una función usa en el contexto de una clase/objeto.
Cuando se crea una función fuera de una clase/objeto, se le puede llamar una funciónpero cuando se crea una función dentro de una clase, se le puede llamar un método.
class foo {
public function bar() { // a method
........
}
}
function bar() { // a function not part of an object
}
lo tanto, un objeto puede tener métodos (funciones) y propiedades (variables).
es una muy buena respuesta, muy clara. Gracias. – Ben
Los métodos deben llamarse como '$ this-> bar()' si están dentro de esa clase; de lo contrario, primero debe crear una instancia de la clase y luego llamarla usando la instancia de la clase (objeto), así: '$ foo-> bar() '. Para las funciones es simplemente 'bar()'. – knownasilya
Aprendes algo nuevo todos los días. –
En una línea, un método es una función pero una función no es necesariamente un método. La diferencia es que un método se usa para describir funciones definidas en clases que se usan con instancias de esas clases.
package {class Example {
public function iAmAMethod():void {
addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void {
trace("inline function, yay!");
});
}
}
La diferencia entre las expresiones "método" y "función" es que un "método" es una función miembro de una clase, mientras que una función independiente no, y una función independiente generalmente existe en el contexto global.
Ambos se usan indistintamente, pero la función es la terminología utilizada en los lenguajes estructurales y el método es la terminología utilizada en Langauages orientados a objetos. También existen métodos dentro de los objetos, mientras que las funciones también pueden existir sin objetos.
Las palabras no se oponen entre sí, sino que describen dos posibles aspectos de una subrutina. A continuación, se intenta definir las palabras:
Subrutina: Un conjunto de instrucciones que se pueden usar varias veces en el mismo programa.
Función: Una subrutina que devuelve un valor. Derivado de funciones en matemáticas (wikipedia).
Método: Una subrutina que pertenece a un objeto o una clase. Podría ser una función
Tiendo a usar la palabra "función" para cada subrutina que no tiene efectos secundarios pero devuelve un valor claro y la palabra "método" para cada subrutina que tiene un efecto secundario.
Estas son las definiciones de subrutina y función que se usan en Fortran, uno de los primeros idiomas de alto nivel. Eso fue hace mucho tiempo. No puedo pensar en un lenguaje contemporáneo que use "subrutina" como palabra clave. El lenguaje C usó "función" para ambos, y esa es la forma en que la mayoría de los otros idiomas usan la palabra. (Está bien para el método.) –
Pero la pregunta no dice nada sobre palabras clave. Es una pregunta terminológica sobre cómo describir el código en el lenguaje hablado. Puedo recomendar el artículo de Wikipedia http://en.wikipedia.org/wiki/Subroutine – Jonatan
@MarcRochkind No (Visual) Definir funciones básicas usando la palabra clave 'Sub'? – Byson
La función es un término genérico que se utilizará en el enfoque de programación procedimental, donde como Método es un término que se utilizará en la aproximación de programación orientada a objetos para definir una propiedad de clase.
Definimos método dentro de la clase, definimos funcionan fuera de clase lado, la función no es parte de la clase
- 1. ¿Cuál es la diferencia entre un algoritmo y una función?
- 2. ¿Cuál es la diferencia entre una subrutina y una función?
- 3. Cuál es la diferencia entre la función() {}() y la función() {}()
- 4. ¿Cuál es la diferencia entre un algoritmo y un método
- 5. ¿Cuál es la diferencia entre un método y un selector?
- 6. En C++, ¿cuál es la diferencia entre un método y una función
- 7. Cuál es la diferencia entre `$ (ventana) .load (función() {})` y `$ (función() {})`
- 8. ¿Cuál es la diferencia entre función (myVar) y (función) myVar?
- 9. ¿Cuál es la diferencia entre función y función
- 10. ¿Cuál es la diferencia entre "función" y "función"? en VIM?
- 11. ¿cuál es la diferencia entre declaración de función y firma?
- 12. ¿Cuál es la diferencia entre dict() y {}?
- 13. ¿Cuál es la diferencia entre un ayudante y un parcial?
- 14. ¿Cuál es la diferencia entre una mónada y un cierre?
- 15. ¿Cuál es la diferencia entre un RoutedCommand y una RoutedUICommand?
- 16. ¿Cuál es la diferencia entre una matriz y un objeto?
- 17. ¿Cuál es la diferencia entre un hilo y una fibra?
- 18. ¿Cuál es la diferencia entre un diccionario y una matriz?
- 19. ¿Cuál es la diferencia entre una instancia y un objeto?
- 20. ¿Cuál es la diferencia entre un tema y una plantilla?
- 21. ¿Cuál es la diferencia entre una heurística y un algoritmo?
- 22. ¿cuál es la diferencia entre:.! y: r !?
- 23. ¿Cuál es la diferencia entre redefinir un método y anular un método?
- 24. Cuál es la diferencia entre $ y jQuery
- 25. ¿Cuál es la diferencia entre una instancia de delegado y un puntero de método?
- 26. En C# ¿cuál es la diferencia entre un destructor y un método Finalize en una clase?
- 27. ¿Cuál es la diferencia entre un IORef y un MVar?
- 28. ¿Cuál es la diferencia entre .ToString (+) y ""
- 29. ¿Cuál es la diferencia entre ".equals" y "=="?
- 30. ¿Cuál es la diferencia entre {0} y ""?
Realmente no hay diferencia técnica dentro de php. Pero en mi opinión, una función es una cosa más matemática; no cambia el estado, solo devuelve un valor (como f (x) = 2x).Un método modifica el estado (como la salida de "hello world") y puede devolver un valor. Esto es básicamente una estafa de: http://stackoverflow.com/questions/43777/method-vs-message-vs-function-vs. Sin embargo, eso responde a tu pregunta. – Tyler
La función tiene un significado en la mayoría de los lenguajes de programación sin relación con su significado en matemáticas. –