Operatör Aşırı Yüklemesi Nedir?
Operatör aşırı yükleme bir olan bilgisayar programlama bir
olanak sağlar dil özelliği programcı varsayılan bir operatöre geçersiz kılmak
için. Operatör işlevi aşırı yüklendiğinde, operatörün varsayılan olarak ne
yapabildiğinden farklı veri türleri olan özel argümanlar ile bildirilebilir.
Yeni parametreler ilkel veya kullanıcı düşük faizli araç kredisitanımlı tipler olabilir. Geçersiz
kılma işlevinin gövdesi içinde, bir programlayıcı parametre değerlerini istenen
şekilde işleyebilir. Operatör aşırı yükünü kullanarak, bir programcı, kullanıcı
tanımlı veri tiplerini manipüle etmek veya varsayılan veri tiplerinin nasıl
işlendiğini değiştirmek için sezgisel kısayollar oluşturabilir.
Kullanıcı tanımlı veri türleri oluşturulduğunda, bu ikisini
birlikte ekleme veya veri türüyle tekli artım operatörü kullanılarak dahili
veriler artırma gibi basit işletme görevleri gerçekleştirmek için bir yolu
yoktur. Ek sembolü de dahil olmak üzere, işleçler, iki özel veri türü arasında
bir ikili işleç olarak kullanıldıklarında, kullanıcı tanımlı bir sonuç
döndürmeleri için geçersiz kılınabilir. Aynı şekilde, artırım operatörü gibi
tek bir operatör, kullanıcı tanımlı tip içindeki dahili bir değeri arttırmak
için geçersiz kılınabilir.
Bir operatör aşırı yüklendiğinde, derleyici aşırı yüklenen
bir operatörle karşılaşıldığında ne yapılması gerektiğine karar vermelidir.
Derleyici, hangi veri tiplerinin işlenen olarak veya operatörle birlikte
kullanıldığına dayanarak uygun eylemi belirler. Operatör işlevine parametre
değerleri olan işlenenler, kullanıcı tanımlı veri türleri ise, derleyici,
kullanılan işlenenlerle eşleşen parametrelere sahip aşırı yüklenmiş işlevi
seçecektir.
Bilgisayar dilleri, bu tür ad-hoc polimorfizmlerine nasıl
izin verdikleri bakımından çeşitlilik gösterir. Farklı diller, yeni özel
işleçlerin oluşturulmasına, tüm operatörlerinin veya bazılarının aşırı
yüklenmesine izin verebilir veya faizsiz evlilik kredisioperatörün aşırı
yüklenmesine izin vermeyebilir. C ++, C #, PHP ve Perl, tüm operatörlerinin
aşırı yüklenmesine izin verir. C, Java ve Javascript'te operatörün aşırı
yüklenmesine izin verilmez.
Genel olarak hem aşırı yüklenme hem de aşırı fonksiyon yükü
bazı tartışmalara konu olmuştur. Bazıları, programcının bir operatörün davranış
şeklini değiştirme özgürlüğünü vermesinin, özelleştirilmiş kodu kullanan diğer
programcılar tarafından istenmeyen hatalar oluşturma potansiyelini ortaya
çıkarabileceğini iddia ediyor. Rakip bakış açısı, operatörün aşırı yüklenmesine
izin vermenin programcılara anlaşılması kolay, üretilmesi daha az maliyetli ve
hataları azaltacak sezgisel ve özlü kod oluşturma yeteneği sağladığını öne
sürmektedir.
Yorumlar
Yorum Gönder