Bu örnekte , Python’da oluşturduğumuz döviz sınıfına operatör aşırı yükleme uygulayarak iki farklı nesne ile kur hesaplaması yapıp iki nesnenin Türk Lirası üzerinden toplanmasını gerçekleştireceğiz .
Kur bilgileri bir dictionary içerisinde tutulmaktadır . (İstenirse web üzerinde bulunan kur servislerinden güncel olarak çekilebilir) .
1 2 3 4 | kur={'EURO':3.76, 'USD':4.54, 'CHF':3.87 } |
Kurucu (Constructor) metodun tanımlanması
1 2 3 | def __init__(self,kur,miktar): self.kur=kur self.miktar=miktar |
Toplam (+) operatörünün aşırı yüklenmesi
1 2 3 4 | def __add__(self, other): s=self.miktar*Doviz.kur[self.kur] o=other.miktar*Doviz.kur[other.kur] return s+o |
toString metodunun tekrardan oluşturulması
1 2 | def __str__(self): return ("%s %s"%(self.miktar,self.kur)) |
Program kodlar
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 26 27 28 29 30 31 32 | class Doviz: kur={'EURO':3.76, 'USD':4.54, 'CHF':3.87 } def __init__(self,kur,miktar): self.kur=kur self.miktar=miktar def __add__(self, other): s=self.miktar*Doviz.kur[self.kur] o=other.miktar*Doviz.kur[other.kur] return s+o def __str__(self): return ("%s %s"%(self.miktar,self.kur)) def main(): print("Kur Hesaplama\n") dolar=Doviz("USD",2.5) euro=Doviz("EURO",3) toplam=dolar+euro print(dolar,"+" , euro,"=",toplam ,"TL ") print("\n\n**********************\n") chf = Doviz("CHF", 50) euro = Doviz("EURO", 35) toplam2 = chf + euro print(chf, "+", euro, "=", toplam2, "TL ") main() |
Ekran Çıktısı :