C# - Aşırı Yükleme (Overload)

C# programlama dili diğer programlama dilleri gibi hem varsayılan hemde parametre alma tekniğini desteklemektedir. Bu durum yazılımcıya işlevsellik getirmektedir.

Örneğin, varolan bir fonksiyonun 2 farklı versiyonu yazılabilir. Böylece ihtiyaç durumuna göre istenilen versiyon kullanılabilir. Buna "overloading" (aşırı yükleme) denmektedir.

Bu yapı programcının farklı bir parametre kümesi aldıkları sürece aynı ada sahip çeşitli yöntemler tanımlamasına izin verir. Overload programcıların olmazsa olmazıdır ve her yerde kullanılabilirler.

Aşağıdaki kodu inceleyelim..

string Substring (int startIndex)
string Substring (int startIndex, int length)    

"Substring" metodu "string" classının en çok kullanılan fonksiyonlarından biridir. Bir metnin içindeki bir alt metinle iş yapmamıza yarar. 2 farklı kullanım şekli vardır. "Substring (int startIndex)" versiyonunda metnin kaçıncı karakterinden itibaren alt metni alacağımızı söyler. "Substring (int startIndex, int length)" versiyonunda ise metnin kaçıncı karakterinden başlayıp kaç karakter alarak alt metni alacağımızı söyler.

Aşağıdaki kodda örnek kullanımı verilmiştir..

class Program
{
    static void Main(string[] args)
    {
        string cumle = "Merhaba Nasılsınız İyimisiniz";

        string altCumle1 = cumle.Substring(8);
        string altCumle2 = cumle.Substring(8,10);

        Console.WriteLine(altCumle1);
        Console.WriteLine(altCumle2);
    }
}

Kod çalıştığında "altCumle1" değişkeni "Nasılsınız İyimisiniz" değeri alırken "altCumle2" değişkeni ise "Nasılsınız" değeri alacaktır. Burada da gördüğünüz gibi aynı fonksiyon ismi fakat 2 farklı kullanım bize sunulmuştur.

Programlamaya yeni başlayan birçok kişi "overload" ile "override" (yeni versiyonunu yazarak geçersiz kılma) kavramlarını isim benzerliği yüzünden birbirine karıştırmaktadırlar. "Override" başka bir derste sizlere anlatılacaktır.


C#

İlginizi Çekebilir

C# - Kurucu ve Yıkıcı (Constructor Destructor)

C# - Alan (Field)

C# - Fonksiyonlar

C# - Switch Case İfadesi

C# - Kalıtım (Inheritance)