"Метод" - це спеціальний термін в об'єктно-орієнтованому програмуванні. Хтось знає, коли слово почали вживати саме в цьому конкретному значенні та у зв’язку з якою мовою програмування чи іншою галуззю кількісного навчання?
"Метод" - це спеціальний термін в об'єктно-орієнтованому програмуванні. Хтось знає, коли слово почали вживати саме в цьому конкретному значенні та у зв’язку з якою мовою програмування чи іншою галуззю кількісного навчання?
Відповіді:
Java та C # отримали метод від C ++, який отримав його від Simula .
І Алгол, ймовірно, мав вплив на Симулу:
Також версія MIT ALGOL, AED-0, зв'язувала структури даних ("плекси" на цьому діалекті) безпосередньо з процедурами, попередньо налаштовуючи те, що пізніше називали "повідомленнями", "методами" та "членами"
Важко знайти певну відповідь там, але першою мовою, що стосується речей як методів, здається, була симула, хоча це цілком може бути помилковим чи зворотним. Зважаючи на те, що функції (з математики) та процедури (також з математики) з'являються в мовах програмування, найкраще, що я можу зрозуміти, це те, що "Метод" є короткою формою для "Методологія".
Все це - підпрограми, біти коду, що складають комп'ютерну програму. Я думаю, що "Метод" був обраний тому, що ідея програмування стилю OOP полягає в тому, щоб якомога більше використовувати код. Таким чином, у вас може бути процедура, але метод робить більш зрозумілим, що це новий стиль на роботі. Чесно кажучи, я, як відомо, називав функції методів і чув функції, що називаються методами.
void
. Функції члена C ++ дуже тісно пов'язані зі звичайними функціями (на відміну від Simula) - наявність неявного this
параметра та (можливо) механізму відправки по виконанню насправді не змінює те, з чим ви маєте справу. Я не знаю, чи вперше C ставився до функцій і процедур як до одного і того ж, але у Pascal (новітня мова) є function
і procedure
ключові слова - хоча IIRC, функції Pascal можуть мати побічні ефекти.
Я шукав інформацію про це десятиліттями. На сьогоднішній день я здогадуюсь, що термін прийшов у Simula зі спеціального підполя чисельних обчислень, де конкретний алгоритм для реалізації функції (наприклад, власне значення або інше) часто називають методом . Це тому, що у вас можуть бути різні різні числові методи для обчислення однієї і тієї ж математичної функції з різними компромісами. В OOP через переосмислення методу у вас може бути функція "той самий", що реалізується інакше, як це підходить для класу - наприклад, область буде реалізована по-різному для Circle and Rectangle , що є обома Shapes , які мають площу. Це здається розумним продовженням традиційної концепції числового методу.
Я нічого не знаю про етимологію цього слова в історії ООП. Але я знаю, що це не дедукційна (виводима). Кращим терміном (Більше вивідний термін або МДТ) для нього може бути реакція чи дія
Програмісти з REAL BASIC, VBx та VB.net фоном знають про два типи декларацій методів "FUNCTION" та "SUB". Сімейство мов BASIC дозволяє оголосити функцію за допомогою ключового слова "FUNCTION", а також ключового слова "SUB". Різниця між цими двома полягає в тому, що "ФУНКЦІЯ" може або не поверне значення там, де "SUB" просто виконує код, але не поверне жодного значення. Але з появою понять OO терміни sub і function починають використовуватися взаємозамінно як методи.