single

Nesne Yönelimli Programlama (OOP) Nedir?

12 Nisan 2024
The Impact of 5G Technology

Nesne Yönelimli Programlama (OOP) Nedir?

Nesne Yönelimli Programlama (OOP), yazılım geliştirmede kullanılan bir programlama paradigmalarıdır. Bu yaklaşım, yazılımı nesneler ve sınıflar etrafında yapılandırmayı hedefler. OOP’nin amacı, yazılımın daha anlaşılır, bakım yapılabilir ve yeniden kullanılabilir olmasını sağlamaktır. OOP, yazılım geliştirmeyi daha modüler ve esnek hale getiren temel bir yaklaşımdır.

 

 

OOP’nin Temel Kavramları

OOP’nin temelini oluşturan dört ana ilke vardır:

  1. Sınıflar ve Nesneler:
    • Sınıf (Class): Bir sınıf, bir nesnenin özelliklerini (veri) ve davranışlarını (metodlar) tanımlar. Bir sınıf, aynı türdeki nesneleri oluşturmak için bir şablon görevi görür.
    • Nesne (Object): Nesne, bir sınıfın somut örneğidir. Sınıf bir şablonken, nesne bu şablona dayanarak oluşturulmuş bir varlıktır. Nesneler, verileri tutar ve metodlarla etkileşime geçer.
    class Araba:
    def __init__(self, model, renk):
    self.model = model
    self.renk = renk
    
    def calistir(self):
    print(f"{self.model} araba çalıştı!")
    
    araba1 = Araba("Toyota", "Kırmızı") # Nesne oluşturuldu
    araba1.calistir() # Nesne metodunu çağırıyoruz

     

  2. Encapsulation (Kapsülleme): Kapsülleme, bir nesnenin içindeki verilerin doğrudan erişilmesini engeller ve yalnızca belirli metotlar aracılığıyla bu verilere erişilmesini sağlar. Bu sayede veri gizliliği sağlanır ve nesnelerin dışarıya olan bağımlılığı azaltılır.Örnek:
    class Hesap:
    def __init__(self, bakiye):
    self.__bakiye = bakiye # __ ile gizleme yapılırdef bakiye_sorgula(self):
    return self.__bakiye
    
    def para_yatir(self, miktar):
    self.__bakiye += miktar

     

  3. Inheritance (Kalıtım): Kalıtım, bir sınıfın başka bir sınıfın özelliklerini ve davranışlarını miras almasına olanak tanır. Bu, kodun yeniden kullanılabilirliğini artırır ve ilişkili sınıflar arasında benzerlikleri paylaşmayı sağlar. Alt sınıflar, üst sınıfların özelliklerini ve metotlarını devralabilir.Örnek:
    class Hayvan:
    def ses_cikar(self):
    print("Hayvan ses çıkarıyor.")class Kopek(Hayvan):
    def ses_cikar(self):
    print("Hav hav!")
    
    kopek = Kopek()
    kopek.ses_cikar() # "Hav hav!" çıktısı verir

     

  4. Polymorphism (Çok Biçimlilik): Polimorfizm, bir nesnenin birden fazla biçimde davranabilmesi anlamına gelir. Bir metot ya da sınıf, farklı nesnelerle farklı sonuçlar doğurabilir. Bu sayede, aynı arayüzü (metodları) kullanarak farklı türdeki nesnelerle çalışılabilir.Örnek:
    class Kedi:
    def ses_cikar(self):
    print("Miyav!")class Kopek:
    def ses_cikar(self):
    print("Hav hav!")
    
    def hayvan_ses_cikar(hayvan):
    hayvan.ses_cikar()
    
    kedi = Kedi()
    kopek = Kopek()
    
    hayvan_ses_cikar(kedi) # Miyav!
    hayvan_ses_cikar(kopek) # Hav hav!

 
OOP’nin Sağladığı Faydalar

  1. Modülerlik ve Yeniden Kullanılabilirlik: OOP, yazılımı küçük, bağımsız ve birbiriyle etkileşimde bulunan nesnelere ayırır. Bu, yazılımı daha modüler hale getirir ve kodun yeniden kullanılabilirliğini artırır.
  2. Bakım Kolaylığı: Nesneler arasındaki bağımlılıkları azaltarak, yazılımın daha kolay bir şekilde bakımını yapmayı sağlar. Ayrıca, sınıflar ve nesneler üzerinde yapılan değişiklikler, diğer bölümleri etkilemeden kolayca uygulanabilir.
  3. Kodun Anlaşılabilirliği: OOP, kodun daha anlaşılır olmasına yardımcı olur çünkü her sınıf, belirli bir sorumluluğu yerine getirir ve bu sınıflar arasındaki ilişkiler açık bir şekilde tanımlanır.
  4. Veri Güvenliği: Kapsülleme sayesinde, veriler sadece belirli metodlarla erişilebilir hale gelir. Bu da veri güvenliğini sağlar ve yanlışlıkla veri değişikliklerinin önüne geçer.

Nesne Yönelimli Programlama (OOP), yazılım geliştirmede önemli bir paradigmadır. Yazılımı daha modüler, yeniden kullanılabilir ve bakımı kolay hale getirmek için güçlü araçlar sunar. OOP’nin temel prensiplerini öğrenmek, yazılımcıların daha etkili ve sürdürülebilir yazılımlar geliştirmelerine yardımcı olur.