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().
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.