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
virtual
danoverride
untuk method yang ingin disesuaikan di turunan - Gunakan
base
buat 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
,BiayaPengiriman
ProdukDigital : 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? 💻🔥