„Metoda” jest szczególnym terminem w programowaniu obiektowym. Czy ktoś wie, kiedy to słowo zaczęło być używane w tym konkretnym znaczeniu i w związku z jakim językiem programowania lub inną gałęzią nauki ilościowej?
„Metoda” jest szczególnym terminem w programowaniu obiektowym. Czy ktoś wie, kiedy to słowo zaczęło być używane w tym konkretnym znaczeniu i w związku z jakim językiem programowania lub inną gałęzią nauki ilościowej?
Odpowiedzi:
Java i C # otrzymały metodę od C ++, która dostała ją od Simuli .
I Algol prawdopodobnie miał wpływ na Simuli:
Również wersja MIT ALGOL, AED-0, łączyła struktury danych („pleksy” w tym dialekcie) bezpośrednio z procedurami, wstępnie konfigurując to, co później nazwano „komunikatami”, „metodami” i „funkcjami składowymi”
Trudno jest znaleźć jednoznaczną odpowiedź, ale pierwszym językiem, który odnosi się do rzeczy, ponieważ metody wydają się być Simula, chociaż może to być fałszywe lub retroaktywne. Biorąc pod uwagę, że funkcje (z matematyki) i procedury (również z matematyki) pojawiają się w językach programowania, najlepsze, co mogę sobie wyobrazić, to, że „Metoda” jest skrótem od „Metodologii”.
Wszystkie są podprogramami, kawałkami kodu tworzącymi program komputerowy. Wyobrażam sobie, że wybrano „metodę”, ponieważ ideą programowania w stylu OOP jest maksymalne wykorzystanie kodu. Tak więc możesz mieć procedurę, ale metoda wyjaśnia, że jest to nowy styl w pracy. Szczerze mówiąc, byłem znany z wywoływania funkcji metod i słyszałem funkcje nazywane metodami.
void
. Funkcje członka C ++ są bardzo ściśle powiązane ze zwykłymi funkcjami (w przeciwieństwie do Simuli) - posiadanie niejawnego this
parametru i (być może) mechanizm wywoływania środowiska wykonawczego tak naprawdę nie zmienia tego, z czym masz do czynienia. Nie wiem, czy C najpierw traktował funkcje i procedury tak samo, ale Pascal (nowszy język) ma function
i procedure
słowa kluczowe - chociaż IIRC, funkcje Pascala mogą mieć skutki uboczne.
Szukałem informacji na ten temat od dziesięcioleci. Do tej pory przypuszczam, że termin ten pojawił się w Simuli ze specjalnego pola obliczeń numerycznych, w którym określony algorytm implementujący funkcję (np. Wartość własna lub cokolwiek innego) jest często nazywany metodą . Jest tak, ponieważ możesz mieć różne metody numeryczne do obliczania tej samej funkcji matematycznej, z różnymi kompromisami. W OOP, ze względu na przesłonięcie metody, możesz mieć tę samą funkcję zaimplementowaną inaczej, niż jest to właściwe dla klasy - np. Obszar zostałby zaimplementowany inaczej dla okręgu i prostokąta , które są oboma kształtami , które mają obszar. Wydaje się to rozsądnym rozszerzeniem tradycyjnej koncepcji metody numerycznej.
Nic nie wiem o etymologii tego słowa w historii OOP. Ale wiem, że nie jest to odliczenie ( odliczenie ). Lepszym terminem (bardziej dedukcyjnym lub MDT) może być reakcja lub działanie
Programiści z PRAWDZIWYMI PODSTAWAMI, VBx i VB.net są świadomi dwóch rodzajów deklaracji metod „FUNKCJE” i „SUB”. Rodzina języków BASIC pozwala zadeklarować funkcję słowem kluczowym „FUNCTION”, a także słowem kluczowym „SUB”. Różnica między nimi polega na tym, że „FUNKCJA” może zwracać lub nie zwracać wartości, gdzie jako „SUB” po prostu wykonuje kod, ale nie zwraca żadnej wartości. Ale wraz z pojawieniem się koncepcji OO, terminy pod i funkcja są używane zamiennie jako metody.