Два слова, которые кто-то может подумать, являются синонимами. Они не!

Введение

Когда я начал программировать на 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 выше, чтобы перейти по ссылке. Никаких дополнительных затрат для вас!