Study
C#

Inheritance di C#

Penjelasan

Inheritance (pewarisan) memungkinkan sebuah class (subclass) mewarisi property dan method dari class lain (superclass) memakai sintaks : NamaSuperclass — supaya kode yang sama tidak perlu ditulis ulang di tiap class turunan. Keyword base dipakai di dalam subclass untuk memanggil constructor atau method milik superclass-nya, mirip super di Java.

Contoh Konsep

class Hewan {
    public string Nama { get; set; }

    public Hewan(string nama) {
        Nama = nama;
    }

    public virtual string Bersuara() {
        return $"{Nama} mengeluarkan suara.";
    }
}

class Kucing : Hewan {
    public Kucing(string nama) : base(nama) {} // panggil constructor Hewan

    public override string Bersuara() {
        return $"{Nama} berkata Meong!";
    }
}

// Kucing kucingku = new Kucing("Milo");
// Console.WriteLine(kucingku.Bersuara()); // Milo berkata Meong!

Praktikum

Buat class Kendaraan dengan property Merek (diisi lewat constructor) dan method InfoMerek() yang mengembalikan "Merek: {Merek}". Buat class Motor yang : Kendaraan, constructor-nya memanggil base(merek). Buat object Motor di Main() dan tampilkan hasil InfoMerek().

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Method yang ingin bisa di-override subclass wajib ditandai virtual di superclass, dan override di subclass-nya (mirip virtual di C++ dan @Override di Java) — tanpa ini, C# akan memanggil versi superclass-nya walau object-nya sebenarnya instance subclass.