Perbezaan antara beban dan mengatasi

Perbezaan antara beban dan mengatasi

Overloading vs overriding

Beban dan overriding adalah kedua -dua ciri kebanyakan bahasa pengaturcaraan. Overloading adalah ciri yang membolehkan penciptaan beberapa kaedah dengan nama yang sama, dalam kelas yang sama tetapi berbeza antara satu sama lain dari segi jenis input dan jenis output fungsi. Kaedah overloading biasanya dikaitkan dengan bahasa pengaturcaraan statik yang menguatkuasakan pemeriksaan jenis dalam panggilan fungsi. Ini kemungkinan besar berkaitan dengan VB, .Bersih, c ++, d, java, dll. Mengatasi adalah kemahiran utama yang digunakan untuk pengaturcaraan berorientasikan objek dan dilakukan apabila pengguna mentakrifkan semula kaedah yang telah ditakrifkan dalam kelas yang ada atau induk. Dalam teknik pengaturcaraan ini, skrip dikodkan untuk menjalankan tugas -tugas tertentu dengan membenarkan skrip yang ditulis di bawah atau subclass untuk melaksanakan kaedah atau set arahan yang telah dinyatakan dalam mana -mana kelas induk atau unggul.

Dalam pengaturcaraan komputer, kelebihan beban berasal dari kaedah yang mempunyai lebih daripada satu definisi dalam skop yang sama dan berkongsi nama yang sama tetapi dengan tandatangan yang berbeza. Pelaksanaan kaedah berkongsi nama yang sama kerana mereka akan melaksanakan tugas yang serupa. Overloading juga dikenal pasti kerana pengiktirafannya sebagai kes polimorfisme, di mana beberapa atau semua pengendali boleh mempunyai pelaksanaan yang berbeza yang bergantung kepada jenis argumen yang ditentukan. Mengatasi bergantung pada kehadiran fungsi kelas asas untuk penampilannya. Ciri bahasa yang mengatasi yang membenarkan kelas kanak -kanak melaksanakan kaedah yang sudah digunakan oleh salah satu kelas superclass atau induknya, membolehkan kaedah subclass menetapkan nama yang sama, senarai parameter, dan jenis pulangan atau tandatangan bahawa kaedah yang ditindas yang digunakan dalam superclass mempunyai.

Overloading dianggap praktikal kerana ia membolehkan pengaturcara menulis beberapa kaedah yang berbeza yang mempunyai nama yang sama. Overloading mungkin mempunyai beberapa akibat untuk bahasa kerana semasa runtime pemproses mengubah nama semua kaedah yang terlalu banyak. Ia diselesaikan pada masa penyusunan. Semasa mengatasi adalah polimorfisme yang direka pada pangkal parameter pertama yang tersirat yang diselesaikan semasa runtime.

Ringkasan:
Istilah overloading biasanya dikaitkan dengan bahasa yang diprogramkan secara statik dan mengatasi populariti dalam pengaturcaraan berorientasikan objek.
Kaedah dalam kelas yang mempunyai nama kaedah yang sama dengan tandatangan yang berbeza ditetapkan sebagai kaedah beban. Mengatasi yang dikenali sebagai kaedah dalam kelas yang mempunyai nama kaedah yang sama dan argumen/tandatangan yang sama.
Berlebihan berkongsi hubungan seragam antara kaedah yang terdapat di kelas yang sama sedangkan dalam mengatasi, hubungan antara kaedah superclass dan kaedah subclass dibuat.
Overloading membolehkan warisan dari superclass.
Dalam mengatasi, kaedah subclass mengambil tempat superclass.
Overloading mesti mempunyai tandatangan kaedah yang berbeza manakala mengatasi mesti memperuntukkan tandatangan yang sama.