Rumah pembangunan bahagian belakang Tutorial C#.Net .net中的重载是什么?

.net中的重载是什么?

Apr 27, 2019 am 11:40 AM
net Lebihan beban

.net中的重载是什么?

.net中的重载,就是在同一个类中存在多个同名的方法,而这些方法的参数列表和返回值类型不同。值得注意的是,重载的概念并非面向对象编程的范畴,从编译器角度理解,不同的参数列表、不同的返回值类型,就意味着不同的方法名。也就是说,方法的地址,在编译期就已经确定,是这一种静态绑定。

从示例中,我们总结重载的基本特征包括:

重载存在于同一个类中。

重载方法要求具有相同的方法名,不同的参数列表,返回值类型可以相同也可以不同(通过operator implicit 可以实现一定程度的返回值重载,不过不值得推荐)。

.NET 2.0引入泛型技术,使得相同的参数列表、相同的返回值类型的情况也可以构成重载。

重载就是一些几个函数名字完全一样,但参数类型或个数不一样,实际调用将按参数类型来区分

比如,你现在有2个Max函数
1)

int Max(int i,int j)
{
}
Salin selepas log masuk

2)

float Max(float i,float j)
{
}
Salin selepas log masuk

在你的程序内

int i,j,k;
k=Max(i,j);//将调用第一个Max
float x,y,z;
z=Max(x,y);//将调用第二个Max
Salin selepas log masuk

显然重载也具备多态性, 但这样多态是基于原代码级别的多态, 以上2个Max函数在文本下是同名,但经过编译后,内部名字是不一样,要加上参数类型等一些信息,这个过程叫名字连编, 在编译调用Max的源代码时,编译器根据调入时的参数选择调用正确的Max函数

Atas ialah kandungan terperinci .net中的重载是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Betulkan kod ralat Rangka Kerja 0x800713ec.NET Betulkan kod ralat Rangka Kerja 0x800713ec.NET Mar 07, 2024 am 10:07 AM

Jika anda menghadapi ralat .NET Framework 0x800713ec semasa memasang program dalam Windows 11/10, terdapat beberapa kaedah yang boleh anda ambil untuk menyelesaikan masalah tersebut. Ralat ini biasanya disebabkan oleh tidak mempunyai versi Rangka Kerja .NET yang betul, tetapi mungkin terdapat sebab lain juga. Di sini, kami meneroka beberapa punca biasa untuk membantu anda mengenal pasti isu anda dan menyelesaikannya secepat mungkin. Keseluruhan mesej ralat kelihatan seperti ini: Satu atau lebih isu menyebabkan pemasangan gagal. Sila selesaikan isu tersebut dan cuba pemasangan sekali lagi. Lihat fail log untuk butiran. 0x800713ec Betulkan Kod Ralat Rangka Kerja 0x800713ec.NET Untuk membetulkan kod ralat Rangka Kerja 0x800713ec.NET, ikut penyelesaian di bawah

Huawei mengeluarkan jam tangan pintar Watch GT 5 di seluruh Eropah dan UK dalam dua saiz dengan hadiah pelancaran awal Huawei mengeluarkan jam tangan pintar Watch GT 5 di seluruh Eropah dan UK dalam dua saiz dengan hadiah pelancaran awal Sep 20, 2024 am 06:47 AM

Huawei kini telah mula menjual Watch GT 5, yang telah diperkenalkan secara global bersama-sama Watch GT 5 Pro dan Watch D2. Selain itu, Huawei juga telah mempamerkan MatePad Pro 12.2 dan MatePad 12 X hari ini di luar China, butiran yang kami miliki

Bagaimana untuk membebankan fungsi golang? Bagaimana untuk membebankan fungsi golang? Apr 28, 2024 am 09:27 AM

Lebihan fungsi tradisional tidak disokong dalam Go, tetapi boleh disimulasikan melalui teknik berikut: Berbilang nilai pulangan: Fungsi dengan tandatangan kaedah yang sama tetapi jenis pulangan yang berbeza boleh dibebankan. Variadik: Gunakan ... sintaks untuk mencipta fungsi yang menerima bilangan argumen yang berubah-ubah, membenarkan panggilan kaedah dikendalikan dengan tandatangan yang berbeza.

Apakah perbezaan antara kelebihan beban fungsi golang dan polimorfisme? Apakah perbezaan antara kelebihan beban fungsi golang dan polimorfisme? Apr 30, 2024 am 09:30 AM

Lebihan beban fungsi tidak disokong dalam bahasa Go kerana ia menggunakan penaipan itik dan menentukan jenis nilai berdasarkan jenis sebenar. Polimorfisme dicapai melalui jenis antara muka dan panggilan kaedah, dan objek kategori berbeza boleh bertindak balas dengan cara yang sama. Khususnya, dengan mentakrifkan antara muka dan melaksanakan kaedah ini, bahasa Go boleh menjadikan objek daripada jenis berbeza mempunyai gelagat yang serupa, dengan itu menyokong polimorfisme.

Amalan pembangunan aplikasi merentas platform Teras .NET: perjalanan lancar dari Windows ke Linux dan macOS Amalan pembangunan aplikasi merentas platform Teras .NET: perjalanan lancar dari Windows ke Linux dan macOS Feb 26, 2024 pm 12:55 PM

Dengan pelancaran .NETCore, pembangun .NET mempunyai peluang baharu untuk menulis dan menjalankan aplikasi .NET dengan mudah pada berbilang sistem pengendalian. Artikel ini akan menyelidiki cara menggunakan .NETCore untuk mencapai pembangunan aplikasi merentas platform dan berkongsi pengalaman amalan terbaik pada sistem pengendalian seperti Windows, Linux dan macOS. 1. Sediakan persekitaran pembangunan Untuk memulakan pembangunan aplikasi merentas platform, anda perlu terlebih dahulu menyediakan persekitaran pembangunan untuk setiap platform sasaran. Windows Pada Windows, anda boleh memasang .NETCoreSDK melalui Visual Studio. Selepas pemasangan selesai, anda boleh mencipta dan menjalankan projek .NETCore melalui Visual Studio. Li

Bagaimana untuk melaksanakan polimorfisme dan beban berlebihan dalam bahasa Go? Bagaimana untuk melaksanakan polimorfisme dan beban berlebihan dalam bahasa Go? Jun 10, 2023 am 10:25 AM

Sebagai bahasa yang ditaip secara statik, bahasa Go nampaknya tidak dapat melaksanakan polimorfisme dan lebihan beban seperti bahasa dinamik. Walau bagaimanapun, bahasa Go menggunakan ciri antara muka untuk mencapai polimorfisme, dan pelaksanaan lebihan beban adalah lebih mudah dan lebih tepat. Kaedah untuk melaksanakan polimorfisme Antara muka dalam bahasa Go boleh melaksanakan polimorfisme semasa proses panggilan Antara muka boleh menerangkan tingkah laku objek Sebarang jenis yang melaksanakan semua kaedah antara muka boleh dipanggil contoh jenis antara muka. Dengan cara ini, polimorfisme boleh dicapai dengan hanya mentakrifkan jenis antara muka dan melaksanakan jenis khusus yang berbeza. Di bawah ialah a

Adakah fungsi PHP menyokong kelebihan beban dan mengatasi fungsi? Adakah fungsi PHP menyokong kelebihan beban dan mengatasi fungsi? Apr 19, 2024 am 10:06 AM

Bahasa PHP tidak menyokong lebihan fungsi dan liputan fungsi kerana lebihan fungsi boleh menyebabkan kekaburan. Alternatif: Gunakan ruang nama untuk mengasingkan fungsi. Tetapkan nilai lalai parameter. Gunakan hujah fungsi variadic.

Apakah perbezaan antara nosql dan mysql Apakah perbezaan antara nosql dan mysql Jan 28, 2023 pm 04:51 PM

Perbezaan: 1. MySQL ialah pangkalan data hubungan, manakala NoSQL bukan hubungan. 2. Sekatan mod ketat MySQL tidak mudah untuk dikembangkan, manakala NoSQL mudah dikembangkan. 3. MySQL memerlukan model pangkalan data terperinci sebelum mencipta pangkalan data, tetapi NoSQL tidak. 4. MySQL menyediakan sejumlah besar alat pelaporan, tetapi nosql tidak. 5. Berbanding dengan MySQL, NoSQL menyediakan reka bentuk yang lebih fleksibel. 6. Bahasa standard yang digunakan dalam MySQL ialah SQL, manakala NoSQL tidak mempunyai bahasa pertanyaan standard.

See all articles