Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
6 / 10 / 0
Регистрация: 29.06.2018
Сообщений: 60

В чём разница между процедурой, функцией и методом?

06.07.2018, 12:32. Показов 6847. Ответов 15

Студворк — интернет-сервис помощи студентам
Я так понимаю, процедура ничего не принимает и ничего не возвращает, просто что-нибудь делает, а функция должна ещё что-нибудь принять, а потом вернуть итоговое значение или несколько значений. Вопрос: чем отличается метод от процедуры и функции? "Метод" - это просто так принято называть функцию/процедуру в Java, или это не процедура и не функция?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2018, 12:32
Ответы с готовыми решениями:

В чем разница между процедурой окна и хуковской процедурой?
Поясню вопрос: Как я понял определенный хук 'фильтрует' сообщения пришедшие окну и может их обрабатывать. Аналогично процедура окна ...

В чём различие между процедурой и функцией?
если возможно, с примерами

В чём разница в python 2 между функцией input() и raw_input()?
И можно ли в python 3 пользоваться функцией raw_input()?

15
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
06.07.2018, 13:10
Лучший ответ Сообщение было отмечено Рауль Вулкан как решение

Решение

Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
Я так понимаю, процедура ничего не принимает и ничего не возвращает
Не обязательно. Может и принимать и возвращать.

Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
чем отличается метод от процедуры и функции?
Тем, что метод связан с объектом.
1
6 / 10 / 0
Регистрация: 29.06.2018
Сообщений: 60
06.07.2018, 14:15  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
Тем, что метод связан с объектом.
Понятно. Но если процедура, как и функция, может принимать и возвращать значения, то в чём тогда отличие процедуры и функции?
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
06.07.2018, 14:42
Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
в чём тогда отличие процедуры и функции?
это зависит от контекста. В джаве есть только одно ключевое слово - function. В паскале вот, к примеру, все так как вы говорите, но раздел называется джава, поэтому разницы нет.

Добавлено через 8 минут
что-то я заработался, нету ключевого слова function )
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
06.07.2018, 15:34
Лучший ответ Сообщение было отмечено Рауль Вулкан как решение

Решение

Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
Но если процедура, как и функция, может принимать и возвращать значения, то в чём тогда отличие процедуры и функции?
В том, что у процедуры есть побочные эффекты, например, изменение значения какой-нибудь переменной, вывод на печать, чтение/запись файла, обращение к БД, работа с сетью и т.п.
Функция же только вычисляет значение на основе аргумента, не связана ни с каким внешним состоянием, её результат зависит только от аргумента, т.е. обладает свойством ссылочной прозрачности.
1
6 / 10 / 0
Регистрация: 29.06.2018
Сообщений: 60
07.07.2018, 14:11  [ТС]
Цитата Сообщение от neske Посмотреть сообщение
только одно ключевое слово - function
Ооооо
А такие слова, как throw, try, if, for?
Правильно говорите, что заработались.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
07.07.2018, 19:39
Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
заработались

Не по теме:

вам ли критиковать помогающего!?

0
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
08.07.2018, 20:13
Цитата Сообщение от korvin_ Посмотреть сообщение
Функция же только вычисляет значение на основе аргумента, не связана ни с каким внешним состоянием, её результат зависит только от аргумента, т.е. обладает свойством ссылочной прозрачности.
Т.е. в java при любых обстоятельствах "функцию" всегда можно сделать static?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
08.07.2018, 21:19
Цитата Сообщение от _ViPeR_ Посмотреть сообщение
Т.е. в java при любых обстоятельствах "функцию" всегда можно сделать static?
При чём тут static?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
09.07.2018, 06:10
Цитата Сообщение от korvin_ Посмотреть сообщение
вывод на печать
а вывод на печать это побочный эффект? Мы же ничего нигде не меняем, и
Цитата Сообщение от korvin_ Посмотреть сообщение
не связана ни с каким внешним состоянием, её результат зависит только от аргумента
для вывода на печать (в консоль) вполне подходит. Или?
0
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
09.07.2018, 07:39
Цитата Сообщение от korvin_ Посмотреть сообщение
При чём тут static?
Как при чем? Вы пишите:
Цитата Сообщение от korvin_ Посмотреть сообщение
не связана ни с каким внешним состоянием, её результат зависит только от аргумента
Я понял так, что такой метод никак не связан с элементами объекта.
Т.е., если к такому методу, который можно назвать функцией по вашим критериям, добавить модификатор static, ничего не "поломается".
0
6 / 10 / 0
Регистрация: 29.06.2018
Сообщений: 60
09.07.2018, 08:03  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
вам ли критиковать помогающего!?
Я не критикую, я констатирую.
Прочитайте выше, neske сам говорит, что заработался.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
09.07.2018, 08:21
Цитата Сообщение от _ViPeR_ Посмотреть сообщение
Я понял так, что такой метод никак не связан с элементами объекта.
Неправильно понял.

Цитата Сообщение от _ViPeR_ Посмотреть сообщение
Т.е., если к такому методу, который можно назвать функцией по вашим критериям, добавить модификатор static, ничего не "поломается".
Если у функции убрать аргумент, то тоже ничего не «поломается»?

Добавь static к методу String.charAt, например.

Цитата Сообщение от Welemir1 Посмотреть сообщение
а вывод на печать это побочный эффект?
Да.

Цитата Сообщение от Welemir1 Посмотреть сообщение
Мы же ничего нигде не меняем
Меняете: в stdout.

Цитата Сообщение от Welemir1 Посмотреть сообщение
для вывода на печать (в консоль) вполне подходит
Нет.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
09.07.2018, 08:36
Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
сам говорит

Не по теме:

если вы скажете, что "я ступил" - это воспринимается, как ваш прогресс, а если я подтвержу, то совсем по иному...

0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
09.07.2018, 10:53
Цитата Сообщение от Рауль Вулкан Посмотреть сообщение
А такие слова, как throw, try, if, for?
ну емае, причем тут все то слова. Я же на твой вопрос отвечал
0
6 / 10 / 0
Регистрация: 29.06.2018
Сообщений: 60
10.07.2018, 18:50  [ТС]
Цитата Сообщение от neske Посмотреть сообщение
ну емае, причем тут все то слова. Я же на твой вопрос отвечал
Да ладно уж вы, просто слегка побронзовел, если можно так выразиться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.07.2018, 18:50
Помогаю со студенческими работами здесь

В чем разница между Си'шным приведением типа и унарной шаблонной функцией static_cast?
В чем разница между Си'шным приведением типа: ... int x{5}; ifs.write( (char*)&x, sizeof(int) ); ... и унарной шаблонной...

В чем разница между оператором += и методом AppendText()
В чем разница для textbox между оператором += и методом AppendText() textbox1.Text += "Some text1 "; ...

В чем разница между виртуальной и чисто виртуальной функцией?
в чем разница между виртуальной и чисто виртуальной функцией? virtual void print(){..} virtual void ex(..)=0;

Какая разница между процедурой и запросом в 1С?
Может ли через процедуру реализовать функции запроса ? Вот мне к примеру надо сделать,кнопку по нажатию на которую из документа 1...

Разница между рекурсивной функцией и обычной
Как можно посчитать разницу между рекурсивной функцией и обычной? Там как то можно время работы функций высчитывать, как это сделать? Какие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru