Statik vs Kaedah Non Statik
Kaedah adalah satu siri kenyataan yang dijalankan untuk melaksanakan tugas tertentu. Kaedah boleh mengambil input dan menghasilkan output. Kaedah statik dan tidak 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 mengendalikan 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 kelas tertentu. Kaedah statik boleh digunakan tanpa menggunakan objek kelas yang mengandungi kaedah statik. Berikut adalah contoh menentukan kaedah statik di Jawa. Statik harus digunakan apabila menentukan kaedah statik di Jawa.
kelas awam MyClass statik void MyStaticMethod () // kod kaedah statikKaedah statik yang dinyatakan di atas boleh dipanggil sebagai berikut menggunakan nama kelas yang dimiliki olehnya.
MyClass.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 kaedahnya ditakrifkan. Kaedah bukan statik boleh mengakses ahli bukan statik serta ahli statik kelas. Dalam banyak bahasa berorientasikan objek (seperti C ++, C #, Java), apabila kaedah bukan statik dipanggil, objek yang menggunakan kaedah diluluskan sebagai argumen tersirat (ia dipanggil rujukan 'ini'). Oleh itu, di dalam kaedah ini kata kunci boleh digunakan untuk merujuk kepada objek yang dipanggil kaedah tersebut. Berikut adalah contoh menentukan kaedah contoh di Jawa.
kelas awam MyClass public void MyInstanceMethod () // kod kaedah contoh
Kaedah contoh yang dinyatakan di atas boleh dipanggil sebagai berikut menggunakan objek kelas yang dimiliki olehnya.
MyClass objMyClass = new MyClass ();
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 berkaitan dengan objek kelas. Kelas perlu diterapkan terlebih dahulu untuk menggunakan kaedah tanpa statik, tetapi kaedah statik tidak mempunyai keperluan ini. Mereka boleh dipanggil dengan menggunakan nama kelas yang memegang kaedah statik. Satu lagi perbezaan penting adalah bahawa 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.