Latest web development tutorials

C # kelas (Class)

Ketika Anda mendefinisikan kelas, Anda menentukan cetak biru untuk tipe data. Ini benar-benar tidak mendefinisikan data apapun, tetapi mendefinisikan nama kelas apa artinya, yaitu, apa yang merupakan kelas objek dan melakukan operasi apa pada objek. Objek adalah contoh kelas. Metode dan variabel yang merupakan kelas menjadi anggota kelas.

definisi kelas

Definisi kelas adalah untuk memulai, diikuti oleh nama kelas darikelas kata kunci.Tubuh kelas, yang terkandung dalam sepasang kurung kurawal. Berikut ini adalah bentuk umum dari definisi kelas:

<Access specifier> class_name kelas 
{
    // Variabel Anggota
    <Access specifier> <tipe data> variable1;
    <Access specifier> <tipe data> variable2;
    ...
    <Access specifier> <tipe data> variableN;
    // Metode Anggota
    <Access specifier> <tipe kembali> method1 (parameter_list) 
    {
        // Tubuh Metode 
    }
    <Access specifier> <tipe kembali> method2 (parameter_list) 
    {
        // Tubuh Metode 
    }
    ...
    <Access specifier> <tipe kembali> methodN (parameter_list) 
    {
        // Tubuh Metode 
    }
}

Harap dicatat:

  • Akses Identifier <akses specifier> menentukan kelas aturan akses dan anggotanya. Jika tidak ditentukan, akses default identifier. Default Access Identifier kelas bersifatinternal, default anggota akses identifier pribadi.
  • Jenis Data <tipe data> menentukan jenis variabel, jenis kembali <tipe kembali> menentukan jenis data yang dikembalikan oleh metode ini kembali.
  • Jika Anda ingin mengakses anggota kelas, Anda ingin menggunakan dot (.) Operator.
  • dot operator menghubungkan nama nama dan anggota objek.

Contoh berikut menggambarkan konsep yang dibahas sejauh ini:

menggunakan System;
namespace BoxApplication
{
    kelas Box
    {
       publik panjang ganda; // panjang masyarakat luas ganda; // lebar tinggi ganda publik; // tinggi}
    kelas Boxtester
    {
        static void Main (string [] args)
        {
            Kotak Kotak1 = new kotak (); // mendeklarasikan Kotak1, jenis kotak
            Kotak box2 = new kotak (); // mendeklarasikan box2, jenis kotak
            Volume ganda = 0,0; // // Volume Kotak1 merinci Box1.height = 5.0;
            Box1.length = 6,0;
            Box1.breadth = 7.0;

            // Box2 merinci Box2.height = 10,0;
            Box2.length = 12,0;
            Box2.breadth = 13,0;
           
            // Volume Volume Kotak1 = Box1.height * Box1.length * Box1.breadth;
            Console.WriteLine ( "Volume Kotak1: {0}", volume);

            // Volume Volume box2 = Box2.height * Box2.length * Box2.breadth;
            Console.WriteLine ( "Volume box2: {0}", volume);
            Console.ReadKey ();
        }
    }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Volume box1: 210
Volume box2: 1560

fungsi anggota dan paket

fungsi anggota kelas itu adalah definisi atau fungsi prototipe dalam definisi kelas, seperti variabel lainnya. Sebagai anggota dari kelas, itu dapat beroperasi pada kelas objek apapun, semua anggota dan dapat mengakses kelas objek.

variabel anggota adalah properti dari objek (dari sudut pandang desain), dan mereka tetap swasta untuk menerapkan paket. Variabel ini hanya dapat digunakan untuk mengakses fungsi-fungsi anggota masyarakat.

Mari kita gunakan konsep di atas untuk mengatur dan mendapatkan nilai dari tipe yang berbeda dari anggota kelas:

menggunakan System;
namespace BoxApplication
{
    kelas Box
    {
       pribadi ganda panjang; // panjang pribadi luasnya ganda; // lebar tinggi ganda pribadi; // tinggi public void setlength (len ganda)
       {
            panjang = len;
       }

       public void setBreadth (double bre)
       {
            Luasnya = bre;
       }

       public void setHeight (double hei)
       {
            height = hei;
       }
       publik ganda getVolume ()
       {
           panjang pulang * luasnya * tinggi;
       }
    }
    kelas Boxtester
    {
        static void Main (string [] args)
        {
            Kotak Kotak1 = new kotak (); // mendeklarasikan Kotak1, jenis kotak
            Kotak box2 = new kotak (); // mendeklarasikan box2, jenis kotak
            Volume ganda; // // Kotak1 volume yang merinci Box1.setLength (6,0);
            Box1.setBreadth (7,0);
            Box1.setHeight (5.0);

            // Box2 merinci Box2.setLength (12,0);
            Box2.setBreadth (13,0);
            Box2.setHeight (10,0);
       
            // Kotak1 volume Volume = Box1.getVolume ();
            Console.WriteLine ( "Volume Kotak1: {0}", volume);

            // Box2 volume Volume = Box2.getVolume ();
            Console.WriteLine ( "Volume box2: {0}", volume);
           
            Console.ReadKey ();
        }
    }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Volume box1: 210
Volume box2: 1560

C # konstruktor

Konstruktor kelas adalah khusus fungsi anggota kelas dieksekusi saat membuat objek kelas baru.

Nama Nama konstruktor kelas persis sama, tidak memiliki tipe kembali.

Contoh berikut menggambarkan konsep konstruktor:

menggunakan System;
namespace LineApplication
{
   kelas Baris
   {
      panjang ganda swasta; // panjang garis Jalur publik ()
      {
         Console.WriteLine ( "Obyek telah dibuat");
      }

      public void setlength (double len)
      {
         panjang = len;
      }
      publik getLength ganda ()
      {
         kembali panjang;
      }

      static void Main (string [] args)
      {
         baris baris = baris baru ();    
         // Mengatur panjang garis line.setLength (6,0);
         Console.WriteLine ( "Panjang garis: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Dibuat benda panjang garis: 6

Konstruktor default tidak memiliki parameter.Tapi jika Anda membutuhkan sebuah konstruktor dengan parameter dapat memiliki argumen, konstruktor ini disebutkonstruktor parameter.Teknik ini dapat membantu Anda membuat objek sementara objek untuk menetapkan nilai awal, melihat contoh-contoh spesifik berikut:

menggunakan System;
namespace LineApplication
{
   kelas Baris
   {
      panjang ganda swasta; // panjang garis Jalur publik (double len) // konstruktor parameter {
         Console.WriteLine ( "objek telah dibuat, panjang = {0}", len);
         panjang = len;
      }

      public void setlength (double len)
      {
         panjang = len;
      }
      publik getLength ganda ()
      {
         kembali panjang;
      }

      static void Main (string [] args)
      {
         baris baris = baris baru (10,0);
         Console.WriteLine ( "Panjang garis: {0}", line.getLength ()); 
         // Mengatur panjang garis line.setLength (6,0);
         Console.WriteLine ( "Panjang garis: {0}", line.getLength ()); 
         Console.ReadKey ();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Objek telah dibuat, panjang = 10
panjang garis: 10
panjang garis: 6

Dalam C # destructor

Kelasdestructor adalah khusus fungsi anggota kelas, ketika jenis objek di luar jangkauan.

Nama destructor adalah di depan nama kelas dengan bergelombang (~) sebagai awalan, itu tidak mengembalikan nilai, dibutuhkan tidak ada parameter.

Destructor untuk akhir program (seperti menutup file ke memori, dll) sebelum pelepasan sumber daya. Destructors tidak dapat diwariskan atau kelebihan beban.

Contoh berikut menggambarkan konsep destructor:

menggunakan System;
namespace LineApplication
{
   kelas Baris
   {
      panjang pribadi ganda; // panjang garis Jalur publik () // konstruktor {
         Console.WriteLine ( "Obyek telah dibuat");
      }
      ~ Line () // destructor {
         Console.WriteLine ( "Obyek telah dihapus");
      }

      public void setlength (double len)
      {
         panjang = len;
      }
      publik getLength ganda ()
      {
         kembali panjang;
      }

      static void Main (string [] args)
      {
         baris baris = baris baru ();
         // Mengatur panjang garis line.setLength (6,0);
         Console.WriteLine ( "Panjang garis: {0}", line.getLength ());           
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Dibuat benda panjang garis: 6
objek dihapus 

C # statis kelas anggota

Kita bisa menggunakan anggota kelasstatis kata kunci dinyatakan statis.Ketika kita mendeklarasikan anggota kelas statis, yang berarti bahwa tidak peduli berapa banyak objek kelas dibuat, hanya ada satu salinan dari anggota statis.

Hanya satu contoh dari anggotastatis kata kunci berarti kelas tersebut.variabel statis digunakan untuk mendefinisikan konstanta, karena nilai mereka bisa disebut secara langsung tanpa perlu membuat sebuah instance dari kelas kelas untuk mendapatkan. variabel statis dapat diinisialisasi dalam definisi fungsi anggota eksternal atau kelas. Anda juga dapat menginisialisasi variabel statis didefinisikan dalam kelas.

Contoh berikut menunjukkan penggunaanvariabel statis:

menggunakan System;
namespace StaticVarApplication
{
    kelas StaticVar
    {
       public static int num;
        public void count ()
        {
            num ++;
        }
        public int getNum ()
        {
            kembali num;
        }
    }
    kelas StaticTester
    {
        static void Main (string [] args)
        {
            StaticVar s1 = new StaticVar ();
            StaticVar s2 = new StaticVar ();
            s1.count ();
            s1.count ();
            s1.count ();
            s2.count ();
            s2.count ();
            s2.count ();         
            Console.WriteLine ( "s1 variabel num: {0}", s1.getNum ());
            Console.WriteLine ( "s2 variabel num: {0}", s2.getNum ());
            Console.ReadKey ();
        }
    }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

variabel s1 num: 6
variabel s2 num: 6

Anda juga dapat menempatkanfungsi anggota dideklarasikan sebagai statis.fungsi tersebut hanya dapat mengakses variabel statis. fungsi statis sebelum objek dibuat, itu ada. Contoh berikut menunjukkan penggunaanfungsi statis:

menggunakan System;
namespace StaticVarApplication
{
    kelas StaticVar
    {
       public static int num;
        public void count ()
        {
            num ++;
        }
        public int static getNum ()
        {
            kembali num;
        }
    }
    kelas StaticTester
    {
        static void Main (string [] args)
        {
            StaticVar s = new StaticVar ();
            s.count ();
            s.count ();
            s.count ();                   
            Console.WriteLine ( "variabel num: {0}", StaticVar.getNum ());
            Console.ReadKey ();
        }
    }
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

num variabel: 3