Два слова, которые кто-то может подумать, являются синонимами. Они не!
Введение
Когда я начал программировать на Java, я узнал, что существуют только методы. Это правильно. В java нет функций. Хотя кто-то из окружающих иногда говорил о функциях в Java. Это сбивало с толку!
Давайте посмотрим на различия между Golang, Java и C++.
Функция
Набор инструкций, которые выполняют задачу и не связаны с объектом или классом. Это такая область видимости (пример с использованием Golang):
функция sum(a,b int) int {…}
Функция вызывается следующим образом:
сумма(3,5)
В Java не существует функций, так как все инструкции находятся в классах! Однако в Java существуют методы.
Метод
Набор инструкций, которые выполняют задачи и связаны с объектом или классом. Точнее, можно сказать, что это «функция» с аргументом-получателем. Что это означает? Метод — это «функция», которая может быть вызвана только некоторыми структурами. Пример использования Голанга:
тип Сложная структура{
настоящее целое
имм инт
}
func (c *Complex) sum(a Complex) Complex{…}
(c *Complex) — аргумент получателя. Это означает, что наш метод «sum», определенный выше, может быть вызван следующим образом только для сложных типов.
complexNum := Complex{3,5}
complexNum.sum(Complex{7,2})
Этот метод интуитивно суммирует два комплексных числа, возвращая результат.
Отличия
Функция вызывается следующим образом:
функция()
Метод вызывается следующим образом:
type.method()
В Java
В java есть статические методы и нестатические методы. Оба в классе!
статический метод будет вызываться следующим образом:
class.method()
Нестатический метод будет вызываться следующим образом:
object.method()
In C++
В С++ есть и то, и другое, как в Голанге. То, что в Java является статическими методами, в C++ представлено функциями. Пример:
недействительная функция (){…}
внутренний основной(){
функция ();
вернуть 0;
}
То, что в Java является нестатическим методом, в C++ представлено методами. Пример:
Пример класса{
общедоступно:
Example(){…} // конструктор по умолчанию
void method(){…} //метод
};
внутренний основной(){
Пример примера;
пример.метод();
вернуть 0;
}
Вывод
Я пытался объяснить вам разницу между функциями и методами в программировании. Надеюсь, я успешно справился с заданием и добавил ценность вашим знаниям.
Следите за следующими ежедневными статьями!
В чем разница между «Аргументом» и «Параметром» в программировании? Рекомендуем прочитать статью ниже.
Разница между «аргументом и параметром в программировании
Два слова, которые многие считают синонимами. Это не так!medium.com»
Знаете ли вы разницу между «Синтаксическими ошибками» и «Логическими ошибками»? Я объяснил это в статье ниже.
Разница между «синтаксическими ошибками и логическими ошибками в программировании
Два слова, которые могут кого-то сбить с толку. Давайте объясним их!medium.com»
Спасибо за то, что прочитали мою статью. Надеюсь, я добавил ценность вашим знаниям.
Рассмотрите возможность подписаться на меня и подписаться ниже, указав свой адрес электронной почты, чтобы узнавать, когда я публикую новые ежедневные статьи.
Вам понравилось читать?
Поддержите меня. Воспользуйтесь ссылкой ниже, чтобы стать участником Medium.
Поддержите мое письмо, став Medium Member сегодня и получите полный доступ ко всем историям на Medium. Нажмите Medium Member выше, чтобы перейти по ссылке. Никаких дополнительных затрат для вас!