- Katılım
- 3 Ocak 2014
- Mesajlar
- 433
- Tepkime puanı
- 2
- Puanları
- 0
.NET çatısı altında operatörleri aşırı yüklemek mümkündür. +, -, *, / gibi operatörleri özel sınıflarınız için aşırı yükleyebilirsiniz.
Aşırı yüklemek .NET çatısı altında bir HATA DEĞİLDİR. Bir fonksiyonu aynı projede iki kez kullanabilirsiniz (dönüş tipleri aynı, parametreleri farklı olmak şartıyla).
Bu dersimizde bir sınıfı +, -, *, / gibi operatörlerle aşırı yüklemeyi öğreneceğiz.
Kod:
public class KUP{public int a, b, c;public KUP(int sa, int sb, int sc){a = sa;b = sb;c = sc;}
Kod:
public static KUP operator +(KUP x, KUP y){KUP yeni = new KUP();yeni.a = x.a + y.a;yeni.b = x.b + y.b;yeni.c = x.c + y.c;return yeni;}}
Bu sınıfı tanımladığımızda herhangi bir fonksiyonda
Kod:
KUP k = new KUP(10, 10, 30);KUP m = new KUP(20, 20, 50);KUP yeni_kup = k + m; // Operatörü Kullandık
yeni_kup için; a = 30 , b = 30, c = 80 oldu.
NOT: Operatörler tanımlandıkları sınıf için kullanılabilirler. Örneğin int ve int türünden iki değişken için KUP sınıfının operatörünü kullanmak mümkün değildir.
Operatörleri orjinal kullanımlarını yansıtacak şekilde aşırı yüklemek programcı için daima daha anlaşılırdır. Örneğin + operatörünü bölme işlemi için de kullanabilirsiniz fakat bu pek kullanışlı bir tanımlama olmayacaktır.
Aşırı yüklemek .NET çatısı altında bir HATA DEĞİLDİR. Bir fonksiyonu aynı projede iki kez kullanabilirsiniz (dönüş tipleri aynı, parametreleri farklı olmak şartıyla).
Bu dersimizde bir sınıfı +, -, *, / gibi operatörlerle aşırı yüklemeyi öğreneceğiz.
Kod:
public class KUP{public int a, b, c;public KUP(int sa, int sb, int sc){a = sa;b = sb;c = sc;}
Kod:
public static KUP operator +(KUP x, KUP y){KUP yeni = new KUP();yeni.a = x.a + y.a;yeni.b = x.b + y.b;yeni.c = x.c + y.c;return yeni;}}
Bu sınıfı tanımladığımızda herhangi bir fonksiyonda
Kod:
KUP k = new KUP(10, 10, 30);KUP m = new KUP(20, 20, 50);KUP yeni_kup = k + m; // Operatörü Kullandık
yeni_kup için; a = 30 , b = 30, c = 80 oldu.
NOT: Operatörler tanımlandıkları sınıf için kullanılabilirler. Örneğin int ve int türünden iki değişken için KUP sınıfının operatörünü kullanmak mümkün değildir.
Operatörleri orjinal kullanımlarını yansıtacak şekilde aşırı yüklemek programcı için daima daha anlaşılırdır. Örneğin + operatörünü bölme işlemi için de kullanabilirsiniz fakat bu pek kullanışlı bir tanımlama olmayacaktır.