top of page

NESNEYE YÖNELİK PROGRAMLAMA

Yazarın fotoğrafı: Batuhan Okur
Batuhan Okur
20 saat önce
2 dakikada okunur

Nesneye Yönelik Programlama (OOP) Nedir?

Nesneye Yönelik Programlama (OOP), yazılım geliştirmede nesneleri ve bunların etkileşimlerini temel alan bir programlama paradigmasıdır. OOP, yazılımın daha modüler, esnek ve yeniden kullanılabilir olmasını sağlar.



OOP'nin Temel Kavramları

OOP'nin dört ana prensibi vardır:

  • Sınıflar (Classes): Nesnelerin nasıl oluşturulacağını belirleyen şablonlardır.

  • Nesneler (Objects): Sınıflardan türetilen, belirli veri ve işlevleri barındıran varlıklardır.

  • Encapsulation (Kapsülleme): Verilerin ve işlevlerin bir arada tutulmasıdır. Bu, nesnelerin iç durumunu gizler.

  • Inheritance (Kalıtım): Bir sınıfın özelliklerini başka bir sınıfa aktarma yeteneğidir. Bu, kodun yeniden kullanılmasını sağlar.

  • Polymorphism (Çok Biçimlilik): Farklı nesnelerin aynı işlevi farklı şekillerde gerçekleştirmesine olanak tanır.


OOP'nin Avantajları

  • Modülerlik: Kodun farklı bölümleri bağımsız olarak geliştirilebilir.

  • Yeniden Kullanılabilirlik: Var olan sınıflar yeni projelerde tekrar kullanılabilir.

  • Bakım Kolaylığı: Kodun anlaşılması ve bakımı daha kolaydır.

  • Gelişmiş Güvenlik: Kapsülleme sayesinde nesnelerin iç durumu korunur.


Örnek

from abc import ABC, abstractmethod
# 1. SINIF (CLASS) & 5. SOYUTLAMA (ABSTRACTION)

class Hayvan(ABC):

    def __init__(self, ad, tur, yas):

        self.ad = ad       # Özellikler (Fields)

        self.tur = tur

        self.yas = yas

        self.__saglik = "İyi"  # 2. KAPSÜLLEME: Private (gizli) veri  
# Kapsüllenmiş veriye erişim metodu

    def saglik_oku(self):

        return self.__saglik



    @abstractmethod

    def ses_cikar(self): # Soyut metot

        pass



# 3. KALITIM (INHERITANCE)

class Kopek(Hayvan):

    # 4. ÇOKBİÇİMLİLİK (POLYMORPHISM) - Metot ezme (override)

    def ses_cikar(self):

        return "Hav Hav!"



class Kedi(Hayvan):

    def ses_cikar(self):

        return "Miyav!"



class Kus(Hayvan):

    def ses_cikar(self):

        return "Cik Cik!"



# 1. NESNE (OBJECT) - Örneklem (Instance) oluşturma

kopek1 = Kopek("Karabaş", "Golden", 5)

kedi1 = Kedi("Tekir", "Sokak Kedisi", 3)

kus1 = Kus("Maviş", "Muhabbet", 1)



# TEST

print(f"{kopek1.ad} ({kopek1.tur}) ses çıkarıyor: {kopek1.ses_cikar()}")

print(f"{kedi1.ad} ses çıkarıyor: {kedi1.ses_cikar()}")

print(f"Kuşun sesi: {kus1.ses_cikar()}")

print(f"Köpeğin sağlık durumu (Kapsülleme): {kopek1.saglik_oku()}") 

Sonuç

Nesneye Yönelik Programlama, modern yazılım geliştirme süreçlerinde önemli bir rol oynamaktadır. OOP'nin temel kavramlarını anlamak, daha etkili ve sürdürülebilir yazılımlar geliştirmek için kritik bir adımdır.

 
 
 

Yorumlar


bottom of page