Jika saya membuat metode ini
public void foo()
Dan kemudian saya membuat versi overload seperti ini
public void foo( string bar )
Apakah kita mengatakan bahwa fungsi kedua membebani yang pertama, atau keduanya sama-sama "kelebihan beban"?
Ini akan menyiratkan (saya pikir), bahwa ada fungsi tipe dasar, yang kelebihan beban, oleh fungsi lain (agak seperti warisan, tetapi tidak benar-benar).
Dengan asumsi bahwa satu metode dapat "membebani yang lain", juga akan menyiratkan istilah seperti "overloader" dan "overloadie", jika itu hanya kata. Tetapi itu sama sekali tidak terasa benar, terutama karena Anda dapat mengalami beberapa kelebihan.
Saya sampai pada pertanyaan ini ketika saya ingin menuliskan proses menciptakan metode kelebihan beban dan saya ingin cara yang paling benar untuk menuliskannya.
Contoh:
- Saya kelebihan beban
foo
- Saya kelebihan beban
foo
denganfoo( string bar )
- Saya membuat metode kelebihan beban
- Saya membuat foo kelebihan beban
Jadi ya, ini membuat saya berpikir, saya tidak yakin apa yang harus saya lakukan. Ada ratusan, jika bukan ribuan, deskripsi fungsi yang kelebihan online, tetapi pada pandangan pertama saya tidak dapat menemukan cara mengatasi hal ini.
sumber
Jawaban:
Ketika berbicara tentang kelebihan, nama fungsi kelebihan beban, bukan fungsi itu sendiri. Fungsi overloading nama adalah "overloads" dan overload nama, tetapi tidak satu sama lain. Dalam contoh Anda,
"public void foo()"
dan"public void foo( string bar )"
keduanya membebani nama "foo". Oleh karena itu, Anda tidak dapat berbicara dalam hal kelebihan muatan dan kelebihan muatan dari salah satu fungsi, karena mereka tidak memiliki hubungan langsung.Dalam contoh Anda, Anda dapat mengatakan bahwa Anda kelebihan "foo" (nama) dengan "foo (bilah string)" (fungsi), tetapi Anda tidak bisa mengatakan bahwa Anda membuat metode kelebihan beban, karena metode tidak pernah kelebihan beban. Anda dapat mengatakan bahwa Anda membuat metode kelebihan beban. Merumuskan "membuat foo kelebihan beban" adalah cara yang lebih buruk untuk mengatakan "kelebihan muatan foo".
sumber
Saya hanya akan mengatakan
foo
kelebihan beban. Jelas tidak ada hubungan tuan / budak atau orang tua / anak yang terjadi di sini.sumber
Saya pikir cara yang baik untuk mengekspresikan ini adalah dengan fokus pada hasil akhir, bukan pada perubahan yang dilakukan ke kelas dari waktu ke waktu. Jadi, alih-alih mengatakan "Saya membebani 'foo' dengan 'foo (parameter lain)'," Anda mengatakan "foo adalah fungsi kelebihan beban, dengan 'foo ()' dan 'foo (parameter lainnya)." "
sumber