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:

  1. Bir sınıf oluşturun: Sınıf, bir nesnenin şablonudur. Nesnenin özelliklerini ve davranışlarını tanımlar.
  1. Nesne oluşturun: Sınıfı kullanarak bir nesne oluşturabilirsiniz.
  1. 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

Bu blogdaki popüler yayınlar

7. PYTHON'DA HATA YAKALAMA VE İSTİSNALAR (EXCEPTIONS)

5. PYTHON'DA MODÜLLER VE PAKETLERİN KULLANIMI

15. VERİ ANALİZİ VE İSTATİSTİKLER PYTHON'DA NASIL YAPILIR?