8. PYTHON'DA NESNE YÖNELİMLİ PROGRAMLAMA (OOP)
Nesne Yönelimli Programlama (OOP) Nedir?
Nesne Yönelimli Programlama (OOP), karmaşık problemleri daha küçük ve yönetilebilir parçalara ayırmak için nesneler adı verilen modüler birimler kullanan bir programlama paradigmasıdır. Bu paradigma, kod tekrarını azaltmaya, kodun okunabilirliğini ve sürdürülebilirliğini artırmaya ve daha sağlam ve esnek yazılımlar geliştirmeye yardımcı olur.
OOP'nin Temel Kavramları
OOP'nin temel kavramları şunlardır:
- Nesne: Nesne, bir veri ve bu veri üzerinde işlem yapan fonksiyonların bir araya gelmesiyle oluşan bir modüler birimdir.
- Sınıf: Sınıf, bir nesnenin şablonudur. Nesnenin özelliklerini ve davranışlarını tanımlar.
- Kalıtım: Bir sınıfın özelliklerinin ve davranışlarının başka bir sınıfa aktarılmasıdır.
- Polimorfizm: Bir nesnenin farklı fonksiyonlara farklı şekillerde yanıt vermesidir.
OOP'nin Avantajları
OOP'nin birçok avantajı vardır:
- Kod Tekrarını Azaltır: Sınıflar ve kalıtım sayesinde kod tekrarını önemli ölçüde azaltabilirsiniz.
- Kodun Okunabilirliğini ve Sürdürülebilirliğini Artırır: Nesneler ve sınıflar, kodun daha iyi organize edilmesine ve daha kolay anlaşılmasına yardımcı olur.
- Daha Sağlam ve Esnek Yazılımlar Geliştirmeye Yardımcı Olur: OOP, kod hatalarını bulmayı ve düzeltmeyi kolaylaştırır ve kodun farklı koşullara uyum sağlayabilmesini sağlar.
OOP'yi Python'da Kullanmak
Python, OOP'yi destekleyen güçlü bir programlama dilidir. Python'da OOP'yi kullanmak için aşağıdaki adımları takip edebilirsiniz:
- Bir sınıf oluşturun: Sınıf, bir nesnenin şablonudur. Nesnenin özelliklerini ve davranışlarını tanımlar.
- Nesne oluşturun: Sınıfı kullanarak bir nesne oluşturabilirsiniz.
- Nesnenin özelliklerine ve davranışlarına erişin: Nesnenin özelliklerine ve davranışlarına noktalama operatörü (.) kullanarak erişebilirsiniz.
Sonuç
OOP, karmaşık problemleri çözmek için güçlü bir araçtır. Python, OOP'yi destekleyen güçlü bir programlama dilidir. OOP'yi Python'da kullanarak kodunuzu daha organize, daha okunabilir, daha sürdürülebilir ve daha sağlam hale getirebilirsiniz.
Ek Notlar
- OOP'yi öğrenmek için zaman ve çaba gerekir.
- OOP her problem için en iyi çözüm olmayabilir.
- OOP'yi kullanmadan önce programlama temellerini iyi bilmeniz önemlidir.
Bu blog yazısı size OOP'ye giriş yapmanız için yardımcı olmuştur. Daha fazla bilgi edinmek için internette birçok kaynak bulabilirsiniz.
ÖRNEK KULLANIM
Bu sadece basit bir örnektir. OOP'yi kullanarak daha karmaşık araba modelleri de oluşturabilirsiniz.
Kullanıcı Girişi ve Benzin Bitimi ile Araba Örneği
class Araba:
def __init__(self, marka, model, renk, vites_tipi, yakit_tipi, benzin_deposu_kapasitesi, km_basina_yakit_tuketimi):
self.marka = marka
self.model = model
self.renk = renk
self.vites_tipi = vites_tipi
self.yakit_tipi = yakit_tipi
self.benzin_deposu_kapasitesi = benzin_deposu_kapasitesi
self.km_basina_yakit_tuketimi = km_basina_yakit_tuketimi
self.kalan_benzin = benzin_deposu_kapasitesi
def calistir(self):
calistirma_durumu = input("Arabayı çalıştırmak istiyor musunuz? (E/H): ")
if calistirma_durumu.upper() == "E":
print(f"{self.marka} {self.model} çalıştırıldı.")
else:
print("Arabayı çalıştırma işlemi iptal edildi.")
def durdur(self):
durdurma_durumu = input("Arabayı durdurmak istiyor musunuz? (E/H): ")
if durdurma_durumu.upper() == "E":
print(f"{self.marka} {self.model} durduruldu.")
else:
print("Arabayı durdurma işlemi iptal edildi.")
def bilgi_yazdir(self):
print(f"Marka: {self.marka}")
print(f"Model: {self.model}")
print(f"Renk: {self.renk}")
print(f"Vites Tipi: {self.vites_tipi}")
print(f"Yakıt Tipi: {self.yakit_tipi}")
print(f"Benzin Deposu Kapasitesi: {self.benzin_deposu_kapasitesi} litre")
print(f"Km Başına Yakıt Tüketimi: {self.km_basina_yakit_tuketimi} litre")
print(f"Kalan Benzin: {self.kalan_benzin} litre")
def git(self):
gidilecek_km = int(input("Kaç kilometre gitmek istiyorsunuz? "))
if gidilecek_km <= 0:
print("Geçersiz kilometre değeri.")
return
elif self.kalan_benzin < (gidilecek_km * self.km_basina_yakit_tuketimi):
print("Yeterli benzin yok.")
return
else:
self.kalan_benzin -= gidilecek_km * self.km_basina_yakit_tuketimi
print(f"{gidilecek_km} kilometre gidildi.")
print(f"Kalan Benzin: {self.kalan_benzin} litre")
if self.kalan_benzin <= 0:
print("Benzin bitti!")
# Araba nesnesi oluşturma
araba1 = Araba("Toyota", "Corolla", "Kırmızı", "Otomatik", "Benzin", 50, 7)
# Araba bilgilerini yazdırma
araba1.bilgi_yazdir()
while True:
# Kullanıcıdan komut alma
komut = input("Komut giriniz (calistir, durdur, git, bilgi): ")
# Komutlara göre işleme yapma
if komut.lower() == "calistir":
araba1.calistir()
elif komut.lower() == "durdur":
araba1.durdur()
elif komut.lower() == "git":
araba1.git()
elif komut.lower() == "bilgi":
araba1.bilgi_yazdir()
else:
print("Geçersiz komut.")
Bu kod, kullanıcının arabayı klavyeden komutlar girerek çalıştırmasını, durdurmasını ve belli bir kilometre gittikten sonra benzini bitmesini sağlar.
Yorumlar
Yorum Gönder