Pengertian serta Contoh Sederhana Classes dan Structs C# Asp.Net


Classes dan structs adalah dua dari konstruksi dasar dari sistem tipe data umum di .NET Framework. Masing-masing pada dasarnya adalah struktur data yang merangkum seperangkat data dan perilaku yang dimiliki bersama sebagai unit logis. Data dan perilaku adalah anggota class atau struct, dan itu termasuk metode, propertinya, dan event, dan seterusnya, seperti yang tercantum kemudian dalam topik ini.

Deklarasi kelas atau struct seperti cetak biru yang digunakan untuk membuat contoh atau objek pada saat run time. Jika Anda mendefinisikan kelas atau struct yang disebut Person, Person adalah nama tipe. Jika Anda mendeklarasikan dan menginisialisasi variabel p tipe Person, p dikatakan sebagai objek atau instance Person.

Beberapa contoh tipe Person yang sama dapat dibuat, dan setiap instance dapat memiliki nilai yang berbeda dalam properti dan fieldnya. class adalah tipe data referensi. Ketika sebuah objek dari kelas dibuat, variabel dimana objek ditetapkan hanya mengacu pada memori itu. Ketika referensi objek ditetapkan ke variabel baru, variabel baru mengacu pada objek asli.

Perubahan yang dilakukan melalui satu variabel tercermin dalam variabel lain karena keduanya mengacu pada data yang sama. Struct adalah tipe data nilai. Ketika sebuah struct dibuat, variabel dimana struct ditugaskan memegang data aktual struct.

Ketika struct ditugaskan ke variabel baru, maka struct akan disalin. Variabel baru dan variabel aslinya mengandung dua salinan terpisah dari data yang sama. Perubahan yang dilakukan pada salah satu copyan tidak mempengaruhi copyan lainnya.

Secara umum, kelas digunakan untuk memodelkan perilaku yang lebih kompleks, atau data yang dimaksudkan untuk dimodifikasi setelah objek kelas dibuat. Structs paling cocok untuk struktur data kecil yang terutama berisi data yang tidak dimaksudkan untuk dimodifikasi setelah struct dibuat.

  • Contoh 

Dalam contoh berikut, MyCustomClass didefinisikan dengan tiga member di tingkat atas namespace ProgrammingGuide. Contoh (objek) MyCustomClass dibuat dalam metod main di class Program, dan metod dan properti objek diakses dengan menggunakan notasi titik.
 namespace ProgrammingGuide
    {
        // Class definition. 
        public class MyCustomClass
        {
            // Class members: 
            // Property. 
            public int Number { get; set; }

            // Method. 
            public int Multiply(int num)
            {
                return num * Number;
            }

            // Instance Constructor. 
            public MyCustomClass()
            {
                Number = 0;
            }
        }
        // Another class definition. This one contains 
        // the Main method, the entry point for the program. 
        class Program
        {
            static void Main(string[] args)
            {
                // Create an object of type MyCustomClass.
                MyCustomClass myClass = new MyCustomClass();

                // Set the value of a public property.
                myClass.Number = 27;

                // Call a public method. 
                int result = myClass.Multiply(4);
            }
        }
    }

  • Encapsulation 

Encapsulation atau Enkapsulasi kadang-kadang disebut sebagai pilar pertama atau prinsip pemrograman berorientasi obyek. Menurut prinsip enkapsulasi, class atau struct dapat menentukan seberapa mudah akses masing-masing anggotanya untuk kode di luar class atau struct.

Metod dan variabel yang tidak dimaksudkan untuk digunakan dari luar class atau perakitan dapat disembunyikan untuk membatasi potensi kesalahan pengkodean atau eksploitasi.

  • Members 

Semua metod, field, constants, properti, dan event harus dinyatakan dalam suatu tipe; ini disebut member dari Tipe data. Di C #, tidak ada variabel atau metod global karena ada beberapa bahasa lain. Bahkan entry point program, metod main, harus dinyatakan dalam kelas atau struct.

Daftar berikut mencakup semua berbagai Tipe member yang dapat dinyatakan dalam class atau struct.
  1. Fields
  2. Constants
  3. Properties
  4. Methods
  5. Constructors
  6. Events
  7. Finalizers
  8. Indexers
  9. Operators
  10. Nested Types
Previous
Next Post »