Skip to main content

Apa metode utama?

Metode overriding digunakan dalam pemrograman berorientasi objek dalam hierarki warisan, dan itu terjadi ketika metode yang didefinisikan dalam superclass didefinisikan ulang dalam subkelas.Biasanya, metode subclass melakukan sesuatu yang berbeda dari metode superclass atau memperluas kemampuan superclass, tetapi ini tidak harus terjadi.Metode overriding terjadi setiap kali metode superclass didefinisikan ulang dalam subkelas, terlepas dari konten metode yang didefinisikan ulang.Tanda tangan metode yang didefinisikan ulang harus persis sama.

Misalnya, kelas A mungkin berisi metode yang disebut dosomething, dan metode ini tidak mengambil parameter input.Selain itu, kelas B dan C mungkin merupakan subkelas dari kelas A. Kelas B mungkin berisi metode yang disebut dosomething, yang tidak mengambil parameter input, dan kelas C mungkin berisi metode dosomething yang mengambil angka sebagai parameter input.Dalam contoh ini, hanya Kelas B yang akan menunjukkan metode utama, karena metode dosomethingnya memiliki tanda tangan yang sama dengan superclassnya, Kelas A. Metode dosomething di Kelas C, di sisi lain, menunjukkan kelebihan metode karena menciptakan metode yang sama sekali baru.

pewarisan virtual dalam C ++ adalah contoh lain dari pengurutan metode.Metode virtual dalam superclass mungkin atau mungkin tidak diimplementasikan, tetapi definisi subclass apa pun dari mereka adalah instance dari metode utama.Ketika suatu metode ditimpa dalam subkelas, metode superclass tidak dipanggil kecuali diminta secara eksplisit.Cara spesifik untuk memanggil metode yang ditimpa sering dikatakan menyembunyikan implementasi superclass.

Meskipun metode utama sangat fleksibel, tidak semua metode dapat ditimpa, dan ada kalanya kekakuan ini mungkin lebih disukai.Baik di Java dan C ++, kata kunci spesifik dapat diterapkan dalam tanda tangan metode untuk mencegah metode agar ditimpa dalam subkelas.Untuk melakukan ini, Java menggunakan kata kunci akhir, dan C ++ menggunakan kata kunci const.Mencegah metode utama dapat bermanfaat jika fungsi tertentu harus selalu tidak berubah di seluruh pohon warisan.

Secara umum, metode sederhana yang mendapatkan potongan -potongan kecil data tidak perlu diganti.Kasus yang cenderung mendapat manfaat paling besar dari utama adalah ketika subkelas bertujuan untuk menambah fungsionalitas ke metode superclass tanpa membuat metode yang sama sekali baru untuk melakukannya.Kasus -kasus yang tidak biasa di mana suatu metode perlu sepenuhnya diperbaiki untuk satu jenis objek tertentu mungkin juga mendapat manfaat dari teknik ini.Setiap kali metode diganti, penting bagi programmer untuk mengomentari metode superclass dan subclass yang memadai.Idealnya, komentar ini harus mengklarifikasi apa yang dilakukan setiap varian dari metode ini, serta bagaimana dan mengapa mereka berbeda.