Türetilen (mirasçı) sınıflar türetildikleri sınıflara ait tüm özellik ve metotlara sahiptir. Fakat bazı durumlarda temel sınıftaki metotlara türemiş sınıflarda ilaveler yapılması gerekebilir. Aşağıdaki örnekte Bilgisayar sınıfı ve bu sınıftan türetilmiş Notebook sınıfı bulununmakta. Bilgisayar sınıfındaki OzellikYazdir() metodunun Notebook sınıfında override edilmesi görülmektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | class Bilgisayar { public string Marka; public string CPU; public string RAM; public virtual void OzellikYazdir() { Console.WriteLine("Marka: {0}\nİşlemci: {1}\nRAM: {2}", Marka, CPU, RAM); } } class Notebook : Bilgisayar { public string bluetooth; public override void OzellikYazdir() { Console.WriteLine("Marka: {0}\nİşlemci: {1}\nRAM: {2}\nBluetooth: {3}", Marka, CPU, RAM, bluetooth); } } |
Anaprogram için kodlar aşağıdaki gibidir
1 2 3 4 5 6 7 8 9 10 11 12 | static void Main(string[] args) { Notebook laptop = new Notebook(); laptop.Marka = "Acer"; laptop.CPU = "Intel Celeron"; laptop.RAM = "512 MB DDR2"; laptop.bluetooth = "var"; laptop.OzellikYazdir(); Console.ReadKey(); } |
Yukarıdaki örnekte Bilgisayar sınıfından kalıtım yoluyla türetilen Notebook sınıfında OzellikYazdir() metoduna eklemeler yapılmıştır. Böyle bir kullanım için türetilen sınıfta metotta override anahtar sözcüğü, temel sınıfta ise virtual anahtar sözcüğü kullanılmalıdır. Dikkat edilmesi geren metodun adıdır. Çünkü derleyici aynı imzaya sahip metodu aramaktadır.