Kaedah statik vs bukan statik
Kaedah adalah satu siri pernyataan yang dijalankan untuk melaksanakan tugas tertentu. Kaedah boleh mengambil input dan menghasilkan output. Kaedah statik dan bukan statik adalah dua jenis kaedah yang terdapat dalam bahasa pengaturcaraan berorientasikan objek. Kaedah statik adalah kaedah yang dikaitkan dengan kelas. Kaedah yang dikaitkan dengan objek dipanggil kaedah bukan statik (contoh). Dalam bahasa berorientasikan objek, kaedah digunakan sebagai mekanisme untuk beroperasi pada data yang disimpan dalam objek.
Apakah kaedah statik?
Dalam pengaturcaraan berorientasikan objek, kaedah statik adalah kaedah yang dikaitkan dengan kelas. Oleh itu, kaedah statik tidak mempunyai keupayaan untuk beroperasi pada contoh tertentu kelas. Kaedah statik boleh digunakan tanpa menggunakan objek kelas yang mengandungi kaedah statik. Berikut adalah contoh menentukan kaedah statik di Java. Statik mesti digunakan semasa menentukan kaedah statik di java.
myclass kelas awam public static void mystaticMethod () // kod kaedah statikKaedah statik yang ditakrifkan di atas boleh dipanggil seperti berikut menggunakan nama kelas yang dimilikinya.
Kelas saya.MyStaticMethod ();
Satu perkara penting untuk diperhatikan ialah kaedah statik hanya boleh mengakses ahli statik.
Apakah kaedah bukan statik?
Kaedah bukan statik atau kaedah contoh adalah kaedah yang dikaitkan dengan objek dalam kelas. Oleh itu, kaedah bukan statik dipanggil menggunakan objek kelas di mana kaedah ditakrifkan. Kaedah bukan statik boleh mengakses ahli bukan statik dan juga ahli kelas statik. Dalam banyak bahasa berorientasikan objek (seperti C ++, C#, Java), apabila kaedah bukan statik dipanggil, objek yang memohon kaedah itu diluluskan sebagai hujah tersirat (ia dipanggil 'rujukan' ini). Oleh itu, di dalam kaedah ini kata kunci ini boleh digunakan untuk merujuk kepada objek yang dipanggil kaedah. Berikut adalah contoh menentukan kaedah contoh di Java.
myclass kelas awam public void myInstanceMethod () // Kod kaedah contoh
Kaedah contoh yang ditakrifkan di atas boleh dipanggil seperti berikut menggunakan objek kelas yang dimilikinya.
MyClass objMyclass = myClass baru ();
Objmyclass.MyInstanceMethod ();
Apakah perbezaan antara kaedah statik dan bukan statik?
Kaedah statik adalah kaedah yang dikaitkan dengan kelas, sedangkan kaedah bukan statik adalah kaedah yang dikaitkan dengan objek kelas. Kelas perlu ditegaskan terlebih dahulu untuk menggunakan kaedah bukan statik, tetapi kaedah statik tidak mempunyai keperluan ini. Mereka hanya boleh dipanggil menggunakan nama kelas yang memegang kaedah statik. Satu lagi perbezaan penting ialah kaedah bukan statik biasanya mempunyai rujukan kepada objek yang dipanggil kaedah dan ia boleh diakses menggunakan kata kunci ini di dalam kaedah. Tetapi kata kunci ini tidak boleh digunakan dalam kaedah statik kerana ia tidak dikaitkan dengan objek tertentu.