Disyorkan, 2024

Pilihan Editor

Perbezaan Antara Cara Muatan dan Overriding

Kaedah Overloading
Cara overloading, juga dikenali sebagai fungsi overloading atau Compile time polymorphism, adalah konsep mempunyai dua atau lebih metode dengan nama yang sama tetapi tanda tangan yang berbeda dalam skop yang sama. Terdapat banyak bahasa pengaturcaraan yang menyokong ciri ini: Ada, C ++, C #, D, dan Java.

Contoh Kaedah Kelebihan Muatan dalam C #

kelas OverloadShapes {float Polygon (int radius, pi float) {float circleArea = pi * radius * radius; } Int Polygon (panjang int, lebar int) {int rectangleArea = panjang * keluasan; } int Polygon (int side) {int squareArea = side * side; }}
1 2 3 4 5 6 7 8 9 10 11 12 13 14kelas OverloadShapes {float Polygon (int radius, pi float) {float circleArea = pi * radius * radius; } Int Polygon (panjang int, lebar int) {int rectangleArea = panjang * keluasan; } int Polygon (int side) {int squareArea = side * side; }}

Seperti yang ditunjukkan dalam contoh di atas, kaedah 'Polygon' melebihi 3 kali dengan tandatangan kaedah yang berbeza, iaitu jenis atau bilangan parameter yang berbeza.

Kaedah Overriding
Kaedah yang digariskan, juga dikenali sebagai fungsi yang menggariskan atau menjalankan polimorfisme masa, adalah ciri OOP yang membolehkan kelas kanak-kanak menyediakan pelaksanaannya sendiri kepada kaedah yang ditentukan dalam kelas induk. Pelaksanaan dalam kelas kanak-kanak mengatasi definisi kaedah dalam kelas asas, dengan syarat bahawa kaedah dalam kelas kanak-kanak harus mempunyai nama, tanda tangan dan jenis yang sama.

Contoh Kaedah Mengatasi C #

class Source1 {draw void public () {Console.Writeline ("I'm in class Source1"); }} Sumber2 kelas meluas Source1 {draw void awam () {Console.Writeline ("Saya berada di Sumber2 kelas"); }}
1 2 3 4 5 6 7 8 9 10class Source1 {draw void public () {Console. Writeline ("Saya berada di Sumber1 kelas"); }} Source2 kelas meluas Sumber1 {draw public void () {Console. Writeline ("Saya berada di Sumber2 kelas"); }}

Di sini, kaedah cabutan dalam kelas Source2 mengatasi kaedah cabutan yang ditakrifkan dalam kelas Source1.

Perbezaan Antara Kaedah Pembekalan dan Penyelesaian Kaedah

  1. Dalam Kaedah muatan muatan mesti mempunyai tandatangan yang berbeza. Dalam kaedah, kaedah utama mesti mempunyai tandatangan yang sama.
  2. Fungsi Overloading adalah untuk "menambah" atau "melanjutkan" lebih kepada tingkah laku kaedah. Fungsi utama ialah dengan sepenuhnya "mengubah" atau "mentakrifkan semula" kelakuan kaedah.
  3. Kaedah muatan beban digunakan untuk mencapai masa kompilasi polimorfisme; kaedah utama digunakan untuk mencapai polimorfisme jangka masa.
  4. Dalam kaedah / fungsi overloading compiler mengetahui objek yang diberikan kepada kelas mana pada masa kompilasi, tetapi dalam kaedah yang mengatasi maklumat ini tidak diketahui hingga runtime.
  5. Fungsi Overloading berlaku di dalam kelas yang sama sedangkan Overriding berlaku dalam kelas yang berasal dari kelas asas.
Top