Saya menulis penjelasan untuk beberapa kode untuk kursus, dan secara tidak sengaja menggunakan kata-kata tersebut method
dan function
secara bergantian. Saya memutuskan untuk kembali dan memperbaiki kata-katanya, tetapi mengalami lubang dalam pemahaman saya.
Dari apa yang saya pahami, subrutin adalah function
jika tidak bertindak pada turunan kelas (efeknya dibatasi pada input / output eksplisitnya), dan method
jika 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 method
seharusnya 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 methods
menjadi 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?