Tipe Kustom
Selain 16 tipe bawaan yang sudah tersedia di C#, pengembang dapat membuat tipe buatan pengguna sendiri, terbagi menjadi enam kategori:
- Tipe kelas (class)
- Tipe struktur (struct)
- Tipe larik (array)
- Tipe pencacahan (enum)
- Tipe delegasi (delegate)
- Tipe antarmuka (interface)
Tipe kustom dibuat melalui deklarasi tipe
- Jenis tipe yang akan dibuat
- Nama tipe baru
- Deklarasi semua anggota tipe tersebut (nama dan definisi). Larik dan delegasi merupakan pengecualian, keduanya tidak memiliki anggota bernama
Setelah deklarasi selesai, Anda bisa membuat dan menggunakan objek dari tipe ini layaknya tipe bawaan.
Tipe bawaan dapat langsung dipakai dan diinstansiasi menjadi objek. Sedangkan tipe kustom, sesuai namanya, mengharuskan kita mendeklarasikan tipe terlebih dahulu (seperti membuat cetakan) sebelum bisa membuat objek darinya.
Contoh: Tipe dasar bawaan seperti int dan float siap pakai tanpa definisi awal, cukup tulis int age; float price; untuk menggunakannya.
Sedangkan tipe kustom Person yang kita bahas sebelumnya, ada dua langkah yang harus dijalankan:
Langkah pertama: Deklarasi (definisikan templat tipe dengan class Person {})
Langkah kedua: Instansiasi (buat objek dengan kode Person lucas = new Person();)
// Kelas mobil
public class Car
{
// 1. Bidang privat (tempat penyimpanan data dasar)
private string _brand; // Merek kendaraan
private string _color; // Warna kendaraan
// 2. Properti publik (titik akses luar, bisa ditambahkan logika validasi)
public string Brand
{
get { return _brand; }
set
{
// Validasi sederhana: merek tidak boleh kosong
if (!string.IsNullOrEmpty(value))
_brand = value;
else
Console.WriteLine("Nama merek tidak boleh dikosongkan!");
}
}
public string Color
{
get { return _color; }
set { _color = value; }
}
// 3. Metode perilaku untuk berkendara
public void Drive()
{
Console.WriteLine($"Sebuah kendaraan merek【{Brand}】berwarna【{Color}】sedang melaju!");
}
}Code language: JavaScript (javascript)
Contoh di atas adalah kelas mobil yang memiliki dua bidang. Bidang adalah variabel berbasis tipe bawaan untuk menyimpan data sesungguhan. Terdapat juga dua properti publik yaitu public string Brand{} dan public string Color{} yang pada dasarnya berupa fungsi, akan kita bahas nanti. Ada juga anggota fungsi bernama public void Drive(){}.
Kita akan membahas semua tipe kustom ini secara mendalam di bagian selanjutnya.

Tipe buatan pengguna