Bikin Class Turunan Tanpa Ribet, Tapi Tetap Bermartabat
Kalau kamu pernah bikin class Produk dan merasa pengen bikin varian-nya tanpa ulang dari nol, maka kamu siap mengenal konsep Inheritance — alias pewarisan.
Inheritance di C# memungkinkan kamu membuat class baru yang mewarisi properti dan method dari class lain. Gampangnya, kamu bikin anak class yang punya semua sifat orang tuanya, tapi boleh nambah gaya sendiri 😄
🧠 Analogi Dulu: Warisan dalam Kehidupan Nyata
Bayangkan kamu punya toko yang jual:
- Produk Fisik → Barang yang dikirim (contoh: kopi bubuk, kaos)
- Produk Digital → Yang dikirim lewat link (contoh: e-book, template invoice)
Keduanya termasuk “produk”, jadi kita bisa bikin satu class induk (Produk), lalu buat class turunan sesuai jenisnya.
📦 Class Induk: Produk
class Produk
{
public string Nama { get; set; }
public double Harga { get; set; }
public Produk(string nama, double harga)
{
Nama = nama;
Harga = harga;
}
public virtual void Info()
{
Console.WriteLine($"{Nama} - Rp {Harga}");
}
}
Perhatikan method Info() memakai keyword virtual — artinya bisa di-override di class anak.
📡 Class Turunan: Produk Digital
class ProdukDigital : Produk
{
public string LinkDownload { get; set; }
public ProdukDigital(string nama, double harga, string link)
: base(nama, harga)
{
LinkDownload = link;
}
public override void Info()
{
base.Info();
Console.WriteLine($"Link: {LinkDownload}");
}
}
Kita pakai : base(...) untuk panggil konstruktor parent dan override method Info() supaya tampilannya beda.
🧪 Pemakaian di Main()
ProdukDigital ebook = new ProdukDigital("Panduan UMKM", 35000, "https://contoh.com/ebook");
ebook.Info();
Output:
Panduan UMKM - Rp 35000 Link: https://contoh.com/ebook
📌 Kenapa Ini Penting?
- Kode lebih hemat dan rapi: nggak perlu copy-paste
- Fleksibel: bisa kasih behavior khusus ke class turunan
- Mendukung struktur bisnis nyata: satu class dasar untuk banyak jenis item
🧠 Tips Praktis
- Pakai keyword
virtualdanoverrideuntuk method yang ingin disesuaikan di turunan - Gunakan
basebuat akses constructor atau method parent class - Inheritance cocok untuk struktur “is-a” — kalau kamu bisa bilang “X adalah Y”
🧾 Bonus Studi Kasus Kecil
Kamu bisa bikin:
ProdukFisik : Produk→ tambahkan propertiBerat,BiayaPengirimanProdukDigital : Produk→ tambahkanLinkDownload,UkuranFile
Nggak perlu ulang class dasar. Cukup wariskan, lalu sesuaikan di anak-anaknya. Kaya raya? Belum tentu. Tapi kamu pasti kaya struktur 😄
📘 Penutup Minggu Kedua
Sampai sini kamu sudah menguasai 3 pilar awal OOP:
- Encapsulation → jaga data tetap aman
- Inheritance → bikin class reusable dan terstruktur
- Object Composition (implisit lewat transaksi & produk)
Minggu ketiga, kita akan masuk ke dunia Windows Forms dan mulai membuat aplikasi kasir mini dengan antarmuka klik-klik. Siap bawa semua ilmu ini ke dunia nyata? 💻🔥
