Apakah Kaedah Overriding dalam Java

Apakah Kaedah Overriding Dalam Java



Semasa mengemas kini data dalam Java, mungkin terdapat keperluan untuk mengatasi beberapa fungsi tertentu untuk memastikan kod itu utuh. Sebagai contoh, menambahkan beberapa fungsi baharu dalam fungsi yang diganti supaya ciri-ciri terdahulu kekal. Dalam situasi sedemikian, ' kaedah mengatasi ” di Java melakukan keajaiban dalam mengemas kini ciri terkumpul dari semasa ke semasa pada akhir pembangun.

Artikel ini akan menghuraikan penggunaan dan pelaksanaan kaedah overriding dalam Java.

Apakah 'Method Overriding' dalam Java?

Jika kelas anak mengandungi kaedah yang serupa seperti yang dinyatakan dalam kelas induknya, ia dirujuk sebagai “ kaedah mengatasi ” di Jawa. Dengan berbuat demikian, kefungsian kelas kanak-kanak, iaitu kaedah yang ditindih, berkuat kuasa.







Pertimbangan untuk 'Penggantian Kaedah' di Jawa

  • Kaedah mesti mengandungi nama yang sama seperti dalam kelas induknya.
  • Kaedah harus mempunyai parameter yang sama seperti dalam kelas induknya.
  • Kaedah yang diperuntukkan sebagai ' muktamad ” tidak boleh ditimpa.

Contoh 1: Mengatasi Kaedah dalam Java

Dalam contoh ini, metodologi mengatasi kaedah, iaitu, ' fungsi ” boleh dilakukan melalui pewarisan:



kelas ibu bapa {

awam batal showOut ( ) {

Sistem . keluar . println ( 'Ini Linuxhint!' ) ;

} }

kelas anak memanjang ibu bapa {

awam batal showOut ( ) {

Sistem . keluar . println ( 'Ini Jawa!' ) ;

} }

awam kelas Contoh {

awam statik batal utama ( Tali [ ] args ) {

Obj kanak-kanak = baru anak ( ) ;

obj. showOut ( ) ;

} }

Dalam demonstrasi di atas, gunakan langkah berikut:



  • Pertama, buat kelas induk(super) bernama “ ibu bapa ”.
  • Dalam kelas ini, tentukan fungsi bernama “ showOut() ” dan paparkan mesej yang diberikan dalam definisi(fungsi).
  • Selepas itu, buat anak(sub) kelas bernama “ anak ” mewarisi “ ibu bapa ” kelas melalui “ memanjang ” kata kunci.
  • Dalam kelas ini, ganti fungsi yang ditakrifkan dalam kelas induknya dengan mentakrifkannya dengan nama yang sama ' showOut() ” dan paparkan mesej yang dinyatakan.
  • Secara utama, buat objek kelas kanak-kanak melalui ' baru ' kata kunci dan ' anak() ” pembina.
  • Akhir sekali, gunakan fungsi ' showOut() ” dengan merujuk kepada objek yang dicipta. Ini akan menggunakan fungsi yang diganti dan bukannya fungsi lalai dalam kelas induk.

Pengeluaran





Dalam output di atas, ia boleh dianalisis bahawa fungsi terakhir, iaitu, ditindih mula berkuat kuasa.



Contoh 2: Penggunaan Kata Kunci 'super' dalam Kaedah Mengatasi Menggunakan Java

Dalam contoh khusus ini, ' hebat ” kata kunci boleh dikaitkan untuk menggunakan fungsi kedua-dua lalai, iaitu induk dan kaedah yang diganti:

kelas ibu bapa {

awam batal showOut ( ) {

Sistem . keluar . println ( 'Ini Linuxhint!' ) ;

} }

kelas anak memanjang ibu bapa {

awam batal showOut ( ) {

hebat . showOut ( ) ;

Sistem . keluar . println ( 'Ini Jawa!' ) ;

} }

awam kelas Contoh {

awam statik batal utama ( Tali [ ] args ) {

Obj kanak-kanak = baru anak ( ) ;

obj. showOut ( ) ;

} }

Dalam blok kod di atas:

  • Begitu juga, buat kelas induk bernama ' ibu bapa 'dan kumpulkan fungsi' showOut() ” di dalamnya, memaparkan mesej yang disediakan.
  • Dalam langkah seterusnya, buat kelas kanak-kanak bernama ' anak ” mewarisi kelas induk.
  • Dalam kelas ini, begitu juga, mengatasi fungsi yang sama. Juga, kaitkan ' hebat ” kata kunci dengan fungsi untuk menggunakan lalai, iaitu, fungsi fungsi kelas induk.
  • Akhir sekali, cipta objek kelas kanak-kanak dan gunakan fungsi yang diganti.
  • Algoritma: Pelaksanaan akan dilakukan dengan cara yang apabila fungsi yang diganti dipanggil, dan ' hebat ” kata kunci akan merujuk kepada fungsi kelas induk. Ini akan mengakibatkan pengelogan fungsi kedua-dua kelas induk dan anak secara serentak pada konsol.

Pengeluaran

Output di atas menandakan bahawa kesan fungsi yang diganti boleh dibatalkan juga melalui ' hebat ” kata kunci.

Contoh 3: Mengatasi Kaedah 'akhir' dalam Java

Dalam contoh ini, fungsi boleh diperuntukkan sebagai “ muktamad ” dalam kelas induk dan kemudian dianalisis dengan mengaksesnya dalam kelas anaknya:

kelas ibu bapa {

muktamad awam batal showOut ( ) {

Sistem . keluar . println ( 'Ini Linuxhint!' ) ;

} }

kelas anak memanjang ibu bapa {

awam batal showOut ( ) {

Sistem . keluar . println ( 'Ini Jawa!' ) ;

} }

awam kelas Contoh {

awam statik batal utama ( Tali [ ] args ) {

Obj kanak-kanak = baru anak ( ) ;

obj. showOut ( ) ;

} }

Mengikut kod yang diberikan di atas, gunakan langkah yang diberikan di bawah:

  • Buat kelas induk ' ibu bapa ”.
  • Dalam kelas ini, peruntukkan fungsi ' showOut() 'sebagai' muktamad ”, seperti yang ditunjukkan oleh kata kunci sebelumnya.
  • Sekarang, warisi kelas kanak-kanak “ anak ” daripada kelas yang dibincangkan dahulu. Di sini, ganti ' yang diperuntukkan muktamad ” fungsi dalam kelas induk.
  • Secara utama, cipta objek ' anak ” kelas dan gunakan fungsi yang diganti.

Pengeluaran

Pelaksanaan kod di atas akan mencatat ralat yang dipaparkan sejak ' muktamad ” kaedah tidak boleh ditindih.

Kesimpulan

Jika kelas anak mengandungi kaedah yang serupa seperti yang dinyatakan dalam kelas induknya, ia sepadan dengan mengatasi kaedah dalam Java. Pendekatan ini mengatasi kaedah terdahulu dan melaksanakan kaedah yang terakhir. Pengutamaan boleh disediakan melalui ' hebat ' atau ' muktamad ” kata kunci dengan cara yang berbeza. Blog ini membincangkan konsep kaedah overriding di Jawa.