2014-02-06 4 views
-4

В чем разница между функцией и методом?
Может ли кто-нибудь сказать с подходящим примером?
и скажите, в чем отличия? Где мы говорим, что некоторые подпрограммы называются функцией и где она называется методом?
Заранее благодаренРазница между функцией и методом

ответ

0

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

c язык термин функция используется. Java & C# люди называют эти методы (и функция в этом случае определяется внутри класса/объекта).

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

Вы вызываете функцию, просто назвав его имя, как result = mySum(num1, num2); Вы бы вызвать метод с помощью ссылки его объекта первого, как

result = MyCalc.mySum(num1,num2); 

Проверьте ссылку в ответе CubanAzucy в. Об этом подробно рассказано в статье «Переполнение стека».

0

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

Все данные, переданные функции, явно передаются.

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

Он неявно передал объект, для которого он был вызван Он может работать с данными, содержащимися в классе (помня, что объект является экземпляром класса - класс является определением, объект является экземпляр этих данных)

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

Выполните следующий пример python:

class Door: 
    def open(self): 
    print 'hello stranger' 

def knock_door: 
    a_door = Door() 
    Door.open(a_door) 

knock_door() 

В приведенном примере показан класс под названием «Дверь», который имеет метод или действие «открыто», он называется методом, потому что он был объявлен внутри класса. Существует еще одна часть кода с «def» чуть ниже, которая определяет функцию, это функция, потому что она не объявлена ​​внутри класса, эта функция вызывает метод, который мы определили внутри нашего класса, как вы можете видеть, и, наконец, функция называемый «один».

Как вы можете видеть, вы можете вызывать функцию в любом месте, но если вы хотите вызвать метод, вам необходимо передать новый объект того же типа, что и класс, объявленный методом (Class.method (object)), или вы должны вызвать метод внутри объекта (object.Method()), по крайней мере, на python.

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

Смежные вопросы