Nesne Yönelimli Programlama – 3

Ocak 23, 2020 0 Yazar: alikperislam
##################### 3. ders :
### nyp'de inheritance(kalıtım) konusu :
# başka bir sınıftan miras almış olacağız....
class calısanlar():
def __init__(self,isim,maas,departman):
print("init fonksiyonu çalıştı...")
self.isim=isim
self.maas=maas
self.departman=departman
def bilgileri_göster(self):
print("bilgiler ekranına hoş geldiniz...")
print("isim : {}\nmaaş : {}\ndepartman : {}".format(self.isim,self.maas,self.departman))
def departman_degistir(self,yeni_departman):
self.departman=yeni_departman
class yönetici(calısanlar): #çalışanlar sınıfından bilgileri buraya aktarmış olduk miras yoluyla
#pass # herhangi bir bilgi eklemeyeceksem pass der geçerim altta işlemlerime devam ederim.
def zam_yap(self,yeni_maas):
self.maas +=yeni_maas
print("zam yapılıyor...")
Yönetici=yönetici("alikper",6750,"bilişim")
Yönetici.departman_degistir("insan kaynakları")
Yönetici.zam_yap(285)
print(Yönetici.bilgileri_göster())


###### overriding (iptal etme) :
#yeni bir bilgi ekleyeceksek kullanırız...
class calısanlar():
def __init__(self,isim,maas,departman):
print("çalışanlar sınıfının init fonksiyonu çalıştı...")
self.isim=isim
self.maas=maas
self.departman=departman
def bilgileri_göster(self):
print("çalışanlar bilgileri ekranına hoş geldiniz...")
print("isim : {}\nmaaş : {}\ndepartman : {}".format(self.isim,self.maas,self.departman))
def departman_degistir(self,yeni_departman):
self.departman=yeni_departman
print("departman değişikliği yapılıyor...")
class yönetici(calısanlar): #çalışanlar sınıfından bilgileri buraya aktarmış olduk miras yoluyla
#pass # herhangi bir bilgi eklemeyeceksem pass der geçerim altta işlemlerime devam ederim.
def __init__(self,isim,maas,departman,kisi_sayısı):
print("yönetici sınıfının init fonksiyonu çalıştı...")
self.isim = isim
self.maas = maas
self.departman = departman
self.kisi_sayısı=kisi_sayısı
def bilgileri_göster(self):
print("yönetici bilgileri ekranına hoş geldiniz...")
print("isim : {}\nmaaş : {}\ndepartman : {}\nsorumlu olduğu kişi : {}".format(self.isim, self.maas, self.departman,self.kisi_sayısı))
def departman_degistir(self, yeni_departman):
self.departman = yeni_departman
print("departman değişikliği yapılıyor...")
def zam_yap(self,yeni_maas):
self.maas +=yeni_maas
print("zam yapılıyor...")
Yönetici=yönetici("alikper",6750,"bilişim","17")
Yönetici.departman_degistir("insan kaynakları")
Yönetici.zam_yap(285)
print(Yönetici.bilgileri_göster())
##################
### süper anahtar kelimesi :
# burda üst sınıftan aldığımız bilgileri tek satır da yazmamızı sağlıyor.
class calısanlar():
def __init__(self,isim,maas,departman):
print("çalışanlar sınıfının init fonksiyonu çalıştı...")
self.isim=isim
self.maas=maas
self.departman=departman
def bilgileri_göster(self):
print("çalışanlar bilgileri ekranına hoş geldiniz...")
print("isim : {}\nmaaş : {}\ndepartman : {}".format(self.isim,self.maas,self.departman))
def departman_degistir(self,yeni_departman):
self.departman=yeni_departman
print("departman değişikliği yapılıyor...")
class yönetici(calısanlar): #çalışanlar sınıfından bilgileri buraya aktarmış olduk miras yoluyla
#pass # herhangi bir bilgi eklemeyeceksem pass der geçerim altta işlemlerime devam ederim.
def __init__(self,isim,maas,departman,kisi_sayısı):
super().__init__(isim,maas,departman) ######### super anahtar burda geçerli oluyor tek satırda üst sınıfı aldık.
print("yönetici sınıfının init fonksiyonu çalıştı...")

self.kisi_sayısı=kisi_sayısı
def bilgileri_göster(self):
print("yönetici bilgileri ekranına hoş geldiniz...")
print("isim : {}\nmaaş : {}\ndepartman : {}\nsorumlu olduğu kişi : {}".format(self.isim, self.maas, self.departman,self.kisi_sayısı))
def departman_degistir(self, yeni_departman):
self.departman = yeni_departman
print("departman değişikliği yapılıyor...")
def zam_yap(self,yeni_maas):
self.maas +=yeni_maas
print("zam yapılıyor...")
Yönetici=yönetici("alikper",6750,"bilişim","17")
Yönetici.departman_degistir("insan kaynakları")
Yönetici.zam_yap(285)
print(Yönetici.bilgileri_göster())