- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Soyutlama, karmaşıklığı yönetme sanatıdır. Temel ilke şudur: Kullanıcıya veya diğer geliştiricilere sadece gerekli bilgileri göster, altta yatan karmaşık detayları ise gizle.
Gerçek hayattaki en iyi örnek: Bir araba kullanıcısı, direksiyonu çevirdiğinde tekerleklerin döndüğünü bilir, ancak motorun içinde yanma sürecinin veya hidrolik sistemin nasıl çalıştığını bilmek zorunda değildir.
Karmaşıklığı Azaltma: Nesneyi kullanacak kişilerin, arka plan mantığına takılmadan sadece arayüze (metot isimlerine) odaklanmasını sağlar.
Değişime Karşı Koruma: Altta yatan kod değişse bile, dışarıya sunulan arayüz (metot imzaları) aynı kaldığı sürece, bu nesneyi kullanan diğer kodlar etkilenmez.
Python'da soyutlama, genellikle aşağıdaki yöntemlerle sağlanır:
Kapsülleme (Özel Nitelikleri Gizleme): Kapsülleme ile verileri gizlemek, zaten bir soyutlama biçimidir. Kullanıcı, hesap.bakiye'ye doğrudan erişmek yerine, hesap.bakiyeyi_goster() metodunu kullanır. Nasıl çalıştığı (hangi _değişkenin okunduğu) gizlenir.
Soyut Sınıflar ve Metotlar (abc Modülü): Bu, bir sınıfın somut nesne oluşturulmasını engelleyen ve alt sınıfların zorunlu olarak uygulaması gereken metotları tanımlayan en katı soyutlama şeklidir.
abc Modülü Kullanımı)Python'da bir sınıfı soyut hale getirmek için yerleşik abc (Abstract Base Classes) modülü kullanılır.
Soyut Sınıf: Kendi başına bir anlamı olmayan, sadece ortak bir arayüz tanımlayan sınıftır.
Soyut Metot: Sınıf içinde sadece tanımlanan, ancak gövdesi olmayan metottur. Alt sınıflar bu metodu mutlaka uygulamak zorundadır.
Örnek: Şekil Soyut Sınıfı
# ABC'den miras alarak bu sınıfı soyut bir temel sınıf yaparız
class Sekil(ABC):
# Soyut metot. Alt sınıflar bunu uygulamak ZORUNDADIR.
@abstractmethod
def alan_hesapla(self):
# Bu metodun gövdesi yok, sadece bir taahhüttür.
pass
# Geleneksel metot da içerebilir
def tanimla(self):
print("Bu bir geometrik şekildir.")
# ----------------------------------------------------
# Soyut Sınıfı Uygulayan Alt Sınıflar
class Kare(Sekil):
def __init__(self, kenar):
self.kenar = kenar
# Soyut metodu uygulamak ZORUNLUDUR!
def alan_hesapla(self):
return self.kenar ** 2
# Kullanım
kare = Kare(5)
print(f"Karenin alanı: {kare.alan_hesapla()}")
kare.tanimla() # Miras alınan somut metot da çalışır.
# Hata Durumu: Eğer 'alan_hesapla' metodu uygulanmasaydı,
# Asagidaki satirda HATA alırdınız:
# soyut_sekil = Sekil() # Hata: Soyut sınıfın nesnesi oluşturulamaz
Soyut sınıflar, bir "sözleşme" (contract) görevi görür. Kodunuzu okuyan veya kullanan herkese, bir alt sınıfın (örneğin Kare sınıfının) mutlaka alan_hesapla gibi kritik bir metodu uygulayacağını garanti eder. Bu, büyük projelerde kod kalitesini ve tutarlılığını artırır.
Soyutlama, programlama yaparken büyük resmi görmemizi sağlar. Karmaşık nesnelerin sadece temel arayüzlerini dış dünyaya sunarak, kodunuzu daha güvenli, daha basit ve gelecekteki değişikliklere karşı daha dayanıklı hale getirirsiniz.
🔥 Python Kariyerinizi Hemen Başlatın!
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
[ Python Eğitimi Sıfırdan İleri Seviye ]
Tıklayın ve Python Eğitimine Hemen Kaydolun!
Yorumlar
Yorum Gönder