Kodun Çıktısı
Isim: Ahmet, Maas: 5000, Departman: IT
Detaylı Açıklama
Kod, Python programlama dilinde nesne yönelimli programlamayı (OOP) temel alarak iki sınıf tanımlar: Calisan ve Mudur. Her iki sınıf da kendi içinde bazı özelliklere (niteliklere) ve yöntemlere (metotlara) sahiptir. Kodun işleyişine dair adım adım açıklama yapalım.
Sınıf: Calisan
Bu sınıf, çalışanlara ait temel bilgileri tutmak için tasarlanmıştır.
__init__
Metodu
def __init__(self, isim, maas):
self.isim = isim
self.maas = maas
Bu, sınıf başlatıcı (constructor) metodudur. isim
ve maas
adlı iki parametre alır ve bunları sınıf niteliklerine atar.
bilgi_goster
Metodu
def bilgi_goster(self):
return f"Isim: {self.isim}, Maas: {self.maas}"
Bu metot, çalışan bilgilerinin bir formatta döndürülmesini sağlar.
Sınıf: Mudur
Bu sınıf, Calisan sınıfını miras alır ve ek olarak departman bilgisini tutar.
__init__
Metodu
def __init__(self, isim, maas, departman):
super().__init__(isim, maas)
self.departman = departman
Bu metot, Calisan
sınıfının başlatıcısını super()
aracılığıyla çağırır ve temel bilgilerin yanı sıra departman bilgisini ekler.
bilgi_goster
Metodu
def bilgi_goster(self):
return f"Isim: {self.isim}, Maas: {self.maas}, Departman: {self.departman}"
Bu metot, çalışan ve müdire ait bilgilerin tamamının bir formatta döndürülmesini sağlar.
Kodun Çalışılması
mudur = Mudur("Ahmet", 5000, "IT")
print(mudur.bilgi_goster())
Bu kısımda, Mudur
sınıfından bir nesne oluşturuluyor (mudur
) ve bu nesnenin bilgi_goster
metodu çağrılıyor.
Alternatif Seçeneklerin Değerlendirilmesi
1. Yanlış: Isim: , Maas: , Departman: IT
Bu çıktı, isim
ve maas
niteliklerinin doğru bir şekilde atanmamış olduğunu gösterir. super().__init__(isim, maas)
çağrısının eksik olması ya da yanlış kullanılması bu soruna yol açabilir.
2. Yanlış: Isim: Ahmet, Maas: 5000
Bu çıktı, Mudur
sınıfında bilgi_goster
metodunun Calisan
sınıfından devralındığını ve departman
bilgisinin göz ardı edildiğini gösterir. Mudur
sınıfında bilgi_goster
metodunun overrides edilememesi bu soruna yol açabilir.
Terimler
Nesne Yönelimli Programlama (OOP)
OOP, yazılım tasarımında nesnelerin kullanıldığı bir paradigmadır. Nesneler, veri mühendisliğinde veri ve davranışları (yöntemler) bir arada tutar ve kapsülleme, çok biçimlilik, kalıtım gibi özellikleriyle yazılım geliştirmeyi daha esnek hale getirir.
super() Fonksiyonu
super(), türetilmiş bir sınıfın taban sınıfının metodlarını çağırmak için kullanılır. Bu, çoklukla başlatıcılarında (constructors) kullanılır.
Başlatıcı (Constructor)
Bir sınıfın örneği oluşturulurken çağrılan özel bir metottur ve genellikle __init__
adını taşır. Sınıfın niteliğini başlatmak için kullanılır.