Inheritance memungkinkan class baru mewarisi perilaku class yang sudah ada, sementara polymorphism membuat kode yang sama bekerja untuk banyak bentuk objek. Section ini membedah mekanisme keduanya secara detail, termasuk jebakan umum dan panduan memilih antara inheritance dan composition.

# Base Class dan Derived Class

Pelajari cara membentuk hierarki class, di mana derived class mewarisi field dan method milik base class melalui satu tanda titik dua.

Buka →
# Base Keyword

Pelajari cara memakai kata kunci base untuk memanggil constructor dan method milik base class dari dalam derived class.

Buka →
# Virtual dan Override

Pelajari pasangan kata kunci virtual dan override untuk mengganti perilaku method warisan, termasuk rantai override dan perluasan dengan base.

Buka →
# New Keyword dalam Inheritance

Pelajari method hiding dengan kata kunci new, cara pemilihan versinya yang berbeda dari override, dan pesan compiler CS0108.

Buka →
# Abstract Members

Pelajari cara mewajibkan turunan mengisi implementasi melalui abstract class dan abstract member pada sistem penggajian.

Buka →
# Sealed Class dan Members

Pelajari cara menghentikan pewarisan dengan sealed pada class dan menutup rantai override dengan sealed override.

Buka →
# Interface Implementation

Pelajari implementasi interface secara teknis: member property, beberapa interface dalam satu class, dan pemeriksaan kemampuan dengan pola is.

Buka →
# Explicit Interface Implementation

Pelajari cara menyelesaikan konflik nama member antara dua interface dengan implementasi eksplisit di aplikasi kasir POS.

Buka →
# Default Interface Members

Pelajari cara memberi implementasi bawaan pada member interface sejak C# 8, sehingga class lama tetap kompatibel tanpa perubahan.

Buka →
# Covariance dan Contravariance

Pelajari cara array dan tipe generic seperti IEnumerable, Func, dan Action dikonversi mengikuti arah pewarisan tipenya.

Buka →
# Runtime Polymorphism

Pelajari cara satu pemanggilan method menjalankan implementasi berbeda saat program berjalan melalui dynamic dispatch pada hierarki armada.

Buka →
# Inheritance vs Composition

Pelajari perbandingan inheritance dan composition melalui contoh mobil dengan mesin, beserta panduan memilih di antara keduanya.

Buka →