5.00 / 1 oy

C# Override Nedir ve Nasıl Kullanılır?

Önceki yazımda (bkz: C# Virtual Metod Nedir ve Nasıl Kullanılır?) her ne kadar override sözcüğünün kullanımını sanal metod (virtual metod) konusunda göstermiş olsam da override sözcüğü, tüm programlama dillerinde kullanılan bir terim olduğu için ayrı bir başlık altında tekrar açıklamak istedim.

Override anahtar kelimesi, base metodu değiştirmek anlamına gelir. C# programlama dilinde, bir metodun override edilebilmesi için snal metod (virtual metod) olması gerekir. Olmadığı durumda ise aşağıdaki gibi bir hata alınacaktır.

class Araba
{
 ...

   public void Calistir () {
   }

 ...
}

class Suv : Araba
{
   ...

    public override void Calistir () {

   }
}

Hata mesajı: 
'Suv.Calistir()': cannot override inherited member 'Araba.Calistir()' because it is not marked virtual, abstract, or override [csharp]csharp(CS0506)

Sadece virtual metodlar override edilebilir, bunun için kendi yazdığımız sınıflarda override edilebilmesini istediğimiz sınıfları virtual metod olarak güncellebiliriz.

class Araba
{
 ...

   public virtual void Calistir () {
   }

 ...
}

class Suv : Araba
{
   ...

    public override void Calistir () {

   }
}

Not: override edilmiş metodlarda baz metodun özelliklerinin kullanılması istenirse base anahtar sözcüğü kullanılabilir.

public override void Calistir () {
       base.Calistir();
...
   }

 

Önceki bazı diğer benzer yazılarım için;

bkz: C# ile Kalıtım Örneği (OOP)

bkz: Programlama Dillerinde Kalıtım Nedir?

bkz: C# ile ArrayList'ten en küçük sayıyı bulmak

bkz: C# List'ten eleman silmek

bkz: C# ArrayList elemanlarını tarihe göre sıralamak

bkz: C# Sınıf ve Nesne Nedir?

mbologlu

27.04.2021 02:12

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Override Nedir ve Nasıl Kullanılır?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.