Reputation: 765
What is the difference between a method and a function? Is it that a method returns a value and a function doesn't?
Upvotes: 61
Views: 48075
Reputation: 2711
Method and function are same things but their context are different. A function inside a class called a method. like:
class foo{
function bar(){ //code }
}
in this case bar() is a method. to execute this method you must create an object of class foo and call it like $foo->bar();
You can write a function out of class .
bar(){ //code }
you can call it bar()
Upvotes: 0
Reputation: 1196
The words are not opposed to each other but rather describes two possible aspects of a subroutine. An attempt to define the words follows:
Subroutine: A set of instructions that can be used several times in the same program.
Function: A subroutine that returns a value. Derived from functions in mathematics (wikipedia).
Method: A subroutine that belongs to an object or a class. Could be a function.
I tend to use the word "function" for every subroutine that has no side effects but returns one clear value and the word "method" for every subroutine that has a side effect.
Upvotes: 8
Reputation: 382841
Method is actually a function used in the context of a class/object.
When you create a function outside of a class/object, you can call it a function but when you create a function inside a class, you can call it a method.
class foo {
public function bar() { // a method
........
}
}
function bar() { // a function not part of an object
}
So an object can have methods (functions) and properties (variables).
Upvotes: 166
Reputation: 436
We define method inside class , we define function out side class, function is not part of class
Upvotes: 1
Reputation: 935
Function is a generic term to be used in procedural programming approach where as Method is a term to be used in Object oriented programming approach to define a class property.
Upvotes: 2
Reputation: 533
The difference between the expressions "method" and "function" is that a "method" is a member function of a class, whereas a standalone function does not, and a standalone function usually exists in global context.
Upvotes: 7
Reputation: 4400
Both are used interchangeably, but function is the terminology used in structural languages and method is the terminology used in Object Oriented Langauages. Also methods exists within objects while functions can exist without objects as well.
Upvotes: 2
Reputation: 16143
In one line, a method is a function but a function is not necessarily a method. The difference is that a method is used to describe functions defined in classes that are used with instances of those classes.
package {class Example {
public function iAmAMethod():void {
addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void {
trace("inline function, yay!");
});
}
}
Upvotes: 0