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.
ConversionConversion EmoticonEmoticon