Saya menulis penjelasan untuk beberapa kode untuk kursus, dan secara tidak sengaja menggunakan kata-kata tersebut methoddan functionsecara bergantian. Saya memutuskan untuk kembali dan memperbaiki kata-katanya, tetapi mengalami lubang dalam pemahaman saya.
Dari apa yang saya pahami, subrutin adalah functionjika tidak bertindak pada turunan kelas (efeknya dibatasi pada input / output eksplisitnya), dan methodjika beroperasi pada instance kelas (mungkin membawa efek samping pada contoh yang membuatnya tidak murni).
Ada diskusi bagus di sini tentang topik tersebut. Perhatikan bahwa dengan definisi jawaban yang diterima, statis methodseharusnya menjadi fungsi karena sebuah instance tidak pernah diteruskan secara implisit, dan tidak memiliki akses ke anggota instance mana pun.
Dengan pikiran ini, bukankah seharusnya statis methodsmenjadi fungsi?
Menurut definisi mereka, mereka tidak bertindak atas contoh kelas tertentu; mereka hanya "terikat" dengan kelas karena hubungan. Saya telah melihat beberapa situs berpenampilan bagus yang merujuk pada subrutin statis sebagai "metode" ( Oracle , Fredosaurus , ProgrammingSimplified ), jadi entah mereka semua mengabaikan terminologi, atau saya melewatkan sesuatu (tebakan saya adalah yang terakhir) .
Saya ingin memastikan bahwa saya menggunakan kata-kata yang benar.
Adakah yang bisa membereskan ini?