Rumah >pembangunan bahagian belakang >C++ >Apa yang membezakan kaedah statik dari kaedah contoh dalam C#?

Apa yang membezakan kaedah statik dari kaedah contoh dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-26 23:16:10640semak imbas

What distinguishes static methods from instance methods in C#?

Konsep kaedah statik dalam C#

Dalam C#, menambah kata kunci "statik" sebelum kaedah menunjukkan bahawa ia adalah kaedah statik, yang mempunyai ciri unik berbanding kaedah (contoh) biasa.

Memahami kaedah statik

Kaedah statik tidak dikaitkan dengan sebarang contoh khusus kelas. Sebaliknya, mereka dipanggil menggunakan nama kelas dan tidak memerlukan instantiasi. Seperti yang ditunjukkan di bawah:

<code class="language-c#">public static void DoSomething()
{
    // ...
}</code>

Untuk memanggil kaedah statik ini, hanya gunakan nama kelas diikuti dengan nama kaedah:

<code class="language-c#">SomeClass.DoSomething();</code>

Kelas statik

Menariknya, C# juga membenarkan anda mentakrifkan kelas statik. Kelas statik ialah kelas yang mengandungi ahli statik sahaja dan melarang instantiasi:

<code class="language-c#">public static class SomeClass
{
    public static int StaticMethod() { return 42; }
}</code>

Seperti yang anda lihat, kelas statik tidak boleh dibuat seketika dan hanya boleh mengandungi kaedah dan medan statik.

Penggunaan dan perbezaan

Pilihan antara kaedah statik dan kaedah contoh bergantung pada kes penggunaan tertentu.

  • Kaedah statik: Sesuai untuk operasi yang tidak bergantung pada data atau keadaan khusus contoh.
  • Kaedah Contoh: Sesuai jika operasi memerlukan maklumat khusus contoh atau manipulasi objek.

Contoh

Pertimbangkan kod berikut:

<code class="language-c#">public class SomeClass
{
    public int InstanceMethod() { return 1; }
    public static int StaticMethod() { return 42; }
}</code>
  • Untuk memanggil InstanceMethod, anda memerlukan contoh SomeClass:

    <code class="language-c#">  SomeClass instance = new SomeClass();
      instance.InstanceMethod(); // 编译并运行</code>
  • Kaedah statik boleh dipanggil terus menggunakan nama kelas:

    <code class="language-c#">  SomeClass.StaticMethod(); // 编译并运行</code>

Memahami konsep kaedah statik dan kelas statik adalah penting untuk mereka bentuk kelas dengan berkesan dalam C#.

Atas ialah kandungan terperinci Apa yang membezakan kaedah statik dari kaedah contoh dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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