Python OOP ( Nesne Tabanlı Programlama )
Python, nesne tabanlı programlama (OOP – Object Oriented Programming) desteğiyle yazılım geliştiricilere güçlü ve modüler çözümler sunar. Bu yazımda Python’da OOP kavramını, class, __init__ metodu ve inheritance (kalıtım) kavramlarını hem teorik hem de uygulamalı olarak göstereceğim. OOP ile kodunuzu daha okunabilir, sürdürülebilir ve genişletilebilir hale getirebilirsiniz.
1. Class (Sınıf) Nedir?
Class (sınıf), belirli özellikleri (attributes) ve işlevleri (methods) bir araya getiren yapıdır. Nesne oluşturmak için bir şablon görevi görür.
Basit Class Tanımı
class Araba:
marka = "Renault"
model = "Clio"
arac1 = Araba()
print(arac1.marka) # Renault
print(arac1.model) # Clio
Bu örnekte, Araba adında bir sınıf oluşturduk ve o sınıftan bir nesne (arac1) türettik.
2. __init__ Metodu: Yapılandırıcı Fonksiyon
Python’da sınıf içerisindeki __init__ metodu, bir sınıftan yeni bir nesne oluşturulduğunda otomatik olarak çalışır. Bu metod sayesinde nesneye başlangıç değerleri verebiliriz.
Örnek
class Araba:
def __init__(self, marka, model):
self.marka = marka
self.model = model
arac1 = Araba("Toyota", "Corolla")
print(arac1.marka) # Toyota
print(arac1.model) # Corolla
Burada self parametresi, o sınıftan türetilen nesneyi temsil eder.
3. Inheritance (Kalıtım): Sınıf Mirası
Kalıtım, bir sınıfın başka bir sınıftan özellik ve metotları miras almasını sağlar. Kod tekrarını azaltır ve daha organize bir yapı sunar.
Temel Kalıtım Örneği
class Arac:
def __init__(self, marka, model):
self.marka = marka
self.model = model
def tanit(self):
print(f"{self.marka} - {self.model}")
class Araba(Arac):
def __init__(self, marka, model, kapi_sayisi):
super().__init__(marka, model)
self.kapi_sayisi = kapi_sayisi
def detaylar(self):
print(f"{self.marka} {self.model}, {self.kapi_sayisi} kapı")
arac2 = Araba("Honda", "Civic", 4)
arac2.tanit() # Honda - Civic
arac2.detaylar() # Honda Civic, 4 kapı
Burada Araba sınıfı, Arac sınıfından türemiştir ve super() fonksiyonu ile üst sınıfın (Arac) yapıcı fonksiyonunu çağırmıştır.
OOP Kullanmanın Faydaları
- Modülerlik: Her sınıf belirli bir sorumluluğu üstlenir.
- Yeniden Kullanılabilirlik: Kod tekrarından kurtulursunuz.
- Sürdürülebilirlik: Büyük projelerde kod yönetimini kolaylaştırır.
- Genişletilebilirlik: Yeni özellikler eklemek kolaydır.
Örnek
Okul yönetim sistemi ;
class Kisi:
def __init__(self, ad, soyad):
self.ad = ad
self.soyad = soyad
class Ogrenci(Kisi):
def __init__(self, ad, soyad, ogrenci_no):
super().__init__(ad, soyad)
self.ogrenci_no = ogrenci_no
ogrenci1 = Ogrenci("Ali", "Kaya", "2024001")
print(ogrenci1.ad, ogrenci1.soyad, ogrenci1.ogrenci_no)
Python ile OOP kullanmak, projelerinizi daha düzenli ve ölçeklenebilir hale getirir. class, __init__ ve inheritance gibi temel kavramlar yazılım geliştiricilerin mutlaka bilmesi gereken yapılar arasında yer alır. OOP ile Python projelerinizi daha profesyonel hale getirebilirsiniz.
Python ile İlgili Tüm Yazılarımı Buradan Veya Tüm Örneklerimi Github Üzerinden İnceleyebilirsiniz.
Bir Yorum Yazın