ID (Indonesia) Translation
Panduan Komprehensif Properties di C#: Untuk Pemula
Halo teman-teman, bakal bintang coding! Hari ini, kita akan memulai perjalanan menarik ke dunia Properties di C#. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengatasi topik ini secara bertahap. Pada akhir panduan ini, Anda akan menjadi ahli Property!
Apa Itu Properties?
Sebelum kita masuk ke dalam, mari kita bayangkan Anda memiliki sepotong tabungan. Anda dapat memasukkan uang dan mengambil uang, tapi Anda tidak dapat mengakses secara langsung bagian dalam tabungan. Properties di C# bekerja sama seperti itu - mereka menyediakan cara untuk mengakses dan memodifikasi nilai field private dalam kelas, sambil tetap menjaga kontrol bagaimana akses itu terjadi.
Mengapa Menggunakan Properties?
- Encapsulation: Mereka membantu menyembunyikan kerja internal kelas.
- Flexibilitas: Anda dapat mengubah bagaimana data disimpan tanpa mengubah bagaimana data diakses.
- Validasi: Anda dapat menambah pemeriksaan untuk memastikan data valid sebelum diatur.
Sekarang, mari kita mulai mempraktekkan dengan kode!
Sintaksis Property Dasar
Ini adalah bentuk paling sederhana dari property:
public class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
Dalam contoh ini, Name
adalah property kami. Itu terkait dengan field private name
. Bagian get
dan set
disebut penyesaian akses.
Penyesaian Akses
Properties memiliki dua penyesaian akses utama:
- get: Mengambil nilai property
- set: Menetapkan nilai baru ke property
mari kitauraikan property Name
kita:
public string Name
{
get { return name; } // Ini adalah getter
set { name = value; } // Ini adalah setter
}
Ketika Anda mengakses property (misalnya person.Name
), getter dipanggil. Ketika Anda menetapkan nilai (misalnya person.Name = "John"
), setter dipanggil.
Properties yang Diterapkan Otomatis
C# memiliki singkatan untuk properties sederhana yang tidak memerlukan logika khusus:
public class Person
{
public string Name { get; set; }
}
Ini menciptakan property Name
dengan field pendukung tersembunyi yang dikelola oleh C# untuk Anda. Itu seperti magi!
Properties dengan Logika
Sekarang, mari kita tambahkan sedikit keanehan ke properties kita:
public class BankAccount
{
private decimal balance;
public decimal Balance
{
get { return balance; }
set
{
if (value < 0)
{
throw new ArgumentException("Balance cannot be negative");
}
balance = value;
}
}
}
Di sini, kita memastikan bahwa balance tidak bisa negatif. Jika seseorang mencoba menetapkan balance negatif, kita melempar pengecualian. Itu seperti memiliki penjaga untuk tabungan Anda!
Properties Baca-Saja dan Tulis-Saja
kadang-kadang, Anda mungkin ingin membatasi akses ke properties Anda:
public class SecretAgent
{
private string codeName = "007";
// Property baca-saja
public string CodeName
{
get { return codeName; }
}
// Property tulis-saja
public string Mission
{
set { Console.WriteLine($"New mission: {value}"); }
}
}
James Bond pasti akan menyetujui tingkat rahasia ini!
Properties Berbentuk Ekspresi
Untuk properties sederhana, C# 6.0 memperkenalkan sintaksis yang lebih ringkas:
public class Circle
{
public double Radius { get; set; }
// Property baca-saja menggunakan tubuh ekspresi
public double Area => Math.PI * Radius * Radius;
}
Sintaksis =>
adalah seperti mengatakan "property ini didefinisikan oleh ekspresi berikut". Itu pendek, manis, dan matematis!
Properties Abstrak
Dalam kelas abstrak, Anda dapat mendefinisikan properties abstrak yang kelas turunan harus implementasikan:
public abstract class Shape
{
public abstract double Area { get; }
}
public class Square : Shape
{
public double Side { get; set; }
public override double Area => Side * Side;
}
Itu seperti membuat blueprint untuk properties yang kelas "anak" Anda harus mengisi.
Tabel Metode Properties
Ini adalah tabel metode yang berhubungan dengan properties:
Metode | Deskripsi | Contoh |
---|---|---|
get | Mengambil nilai property | get { return name; } |
set | Menetapkan nilai property | set { name = value; } |
init | Menetapkan nilai property hanya saat inisialisasi objek | public string Name { get; init; } |
value | Representasi nilai yang ditetapkan dalam setter | set { if (value != null) name = value; } |
Kesimpulan
Selamat! Anda telah mengambil langkah pertama ke dunia Properties di C#. Ingat, properties adalah seperti butler yang terlatih untuk field private kelas Anda - mereka mengelola akses, menegakkan aturan, dan menjaga hal-hal rapi.
Saat Anda terus melanjutkan perjalanan coding Anda, Anda akan menemukan properties muncul di mana-mana. Mereka adalah bagian penting dari menulis kode C# yang bersih dan dapat dipelihara. Terus latih, dan segera Anda akan menjadi ahli dalam properties!
Hari coding yang menyenangkan, dan may your properties always be properly protected! ?????
Credits: Image by storyset