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.