Inheritance di C#: Warisan Tanpa Drama Keluarga

Inheritance di C#: Warisan Tanpa Drama Keluarga

cs.bimobo
0

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 dan override 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 properti Berat, BiayaPengiriman
  • ProdukDigital : Produk → tambahkan LinkDownload, 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? 💻🔥

Posting Komentar

0 Komentar

Posting Komentar (0)
3/related/default