Bu örnekte, bir karmaşık sayı sınıfı oluşturarak bu sınıf için operatör aşırı yüklemesini nasıl kullanabileceğinizi ele alıyoruz. Örnekte karmaşık sayılar ile toplama,çıkarma ve bölme işlemlerini tanımlayacağız .
Toplama :
Karmaşık sayılar toplanırken reel kısımlar kendi aralarında ve sanal kısımlar kendi aralarında toplanır .
Çıkarma :
Karmaşık sayılar çıkarılırken reel kısımların farkı ve sanal kısımların farkı alınır .
Çarpma :
sayi1=a+ib ve sayi2=x+iy olmak üzere ;
sayi1*sayi2=(a*x-b*y) +i(a*y+b*x) şeklinde hesaplanır .
Aşağıdaki kodlarda oluşturulan karmaşık sayı sınıfı için operatör yüklenmesinin nasıl yapıldığı gösterilmektedir .
class Complex(object):
def __init__(self, real, imag=0.0):
self.real = real
self.imag = imag
def __add__(self, other):
return Complex(self.real + other.real,
self.imag + other.imag)
def __sub__(self, other):
return Complex(self.real - other.real,
self.imag - other.imag)
def __mul__(self, other):
return Complex(self.real*other.real - self.imag*other.imag,
self.imag*other.real + self.real*other.imag)
def __str__(self):
return 'Sonuç = : (%d, %di)' % (self.real, self.imag)
cSayi1=Complex(1,4)
cSayi2=Complex(3,8)
topla=cSayi1+cSayi2
cikar=cSayi1-cSayi2
carp=cSayi1*cSayi2
print("Toplam ",topla)
print("Çıkarma ",cikar)
print("Çarpma " , carp)
Ekran Çıktısı :



