1. Haberler
  2. Programlama
  3. Nesne Yönelimli Programlama (OOP) Nedir?

Nesne Yönelimli Programlama (OOP) Nedir?

Nesne Yönelimli Programlama (OOP) nedir? Sınıf, nesne, kalıtım, polimorfizm gibi temel kavramları gerçek hayat örnekleri ve Python ile C# kodlarıyla öğrenin. Yazılım geliştirmede OOP’nin avantajlarını keşfedin.

featured
service
Paylaş

Bu Yazıyı Paylaş

veya linki kopyala

Nesne Yönelimli Programlama (Object-Oriented Programming – OOP), gerçek dünya kavramlarını yazılımda modellemek için kullanılan güçlü bir programlama yaklaşımıdır. Sınıflar (classes) ve nesneler (objects) temel yapı taşlarıdır.

OOP ile kodunuzu daha modüler, yeniden kullanılabilir ve bakımı kolay hale getirebilirsiniz.

📌 Bilgi: Bu içerikte kullanılan “nesne yönelimli programlama” (OOP), bazı kaynaklarda “nesne tabanlı programlama” ile karıştırılabilir. Ancak nesne yönelimli programlama; kalıtım, polimorfizm, kapsülleme gibi gelişmiş özellikleri de kapsayan daha geniş ve güçlü bir yaklaşımdır.

🧱 OOP’nin Temel Kavramları

1. 🔹 Sınıf (Class)

Bir nesnenin yapısını tanımlayan şablondur. Özellikler (attributes) ve davranışlar (methods) içerir.

2. 🔸 Nesne (Object)

Sınıftan oluşturulan somut örnektir. Her nesnenin kendine ait verisi olur.

3. 🔐 Kapsülleme (Encapsulation)

Verileri ve bu verilere erişimi kontrol eden fonksiyonları tek bir birim altında toplar.

4. 👨‍👧‍👦 Kalıtım (Inheritance)

Bir sınıfın, başka bir sınıfın özelliklerini ve metotlarını miras almasıdır.

5. 🔁 Çok Biçimlilik (Polymorphism)

Farklı sınıfların aynı isimli metotları farklı şekillerde uygulayabilmesidir.

💻 C# ile Kullanımı

✅ Sınıf ve Nesne Oluşturma

using System;

class Araba
{
    public string Marka;
    public string Model;

    public Araba(string marka, string model)
    {
        Marka = marka;
        Model = model;
    }

    public void Calistir()
    {
        Console.WriteLine($"{Marka} {Model} çalıştırılıyor.");
    }
}

class Program
{
    static void Main()
    {
        Araba arac1 = new Araba("Ford", "Focus");
        arac1.Calistir();
    }
}

✅ Kalıtım Örneği

using System;

class Araba
{
    public string Marka;
    public string Model;

    public Araba(string marka, string model)
    {
        Marka = marka;
        Model = model;
    }

    public void Calistir()
    {
        Console.WriteLine($"{Marka} {Model} çalıştırılıyor.");
    }
}

class ElektrikliAraba : Araba
{
    public ElektrikliAraba(string marka, string model) : base(marka, model)
    {
    }

    public void SarjEt()
    {
        Console.WriteLine($"{Marka} şarj ediliyor.");
    }
}

class Program
{
    static void Main()
    {
        ElektrikliAraba arac2 = new ElektrikliAraba("Tesla", "Model S");
        arac2.Calistir();
        arac2.SarjEt();
    }
}

🧠 Not:

  • public ile erişim belirteçleri kontrol edilir (kapsülleme için private, protected gibi erişim seviyeleri de kullanılabilir).
  • : base(...) yapısı, miras alınan sınıfın kurucusunu çağırmak için kullanılır.
  • C# dilinde Main() metodu, programın başlangıç noktasıdır.

🐍 Python ile Kullanımı

✅ Basit Bir Sınıf ve Nesne Oluşturma

class Araba:
    def __init__(self, marka, model):
        self.marka = marka
        self.model = model

    def calistir(self):
        print(f"{self.marka} {self.model} çalıştırılıyor.")

# Nesne oluşturma
arac1 = Araba("Toyota", "Corolla")
arac1.calistir()

✅ Kalıtım Örneği

class ElektrikliAraba(Araba):
    def sarjEt(self):
        print(f"{self.marka} şarj ediliyor.")

arac2 = ElektrikliAraba("Tesla", "Model 3")
arac2.calistir()
arac2.sarjEt()

🌐 JavaScript ile Kullanımı

✅ Class ve Object Oluşturma

Araba {
  constructor(marka, model) {
    this.marka = marka;
    this.model = model;
  }

  calistir() {
    console.log(`${this.marka} ${this.model} çalıştırılıyor.`);
  }
}

const arac1 = new Araba("Renault", "Clio");
arac1.calistir();

✅ Kalıtım

class ElektrikliAraba extends Araba {
  sarjEt() {
    console.log(`${this.marka} şarj ediliyor.`);
  }
}

const arac2 = new ElektrikliAraba("BMW", "i3");
arac2.calistir();
arac2.sarjEt();

💡 OOP’nin Avantajları

AvantajAçıklama
ModülerlikKod parçalara bölünür, okunabilirlik artar
Yeniden KullanılabilirlikSınıflar başka projelerde yeniden kullanılabilir
Kolay Bakım ve GenişletmeYeni özellikler mevcut koda zarar vermeden eklenebilir
Gerçek Dünya ile BenzerlikKodlama süreci daha sezgisel olur

❓ Ne Zaman OOP Kullanmalıyız?

  • Gerçek dünya varlıklarının modellendiği projelerde (örneğin: öğrenci, banka hesabı, ürün)
  • Büyük ve karmaşık projelerde
  • Uzun vadeli bakım ve genişletme gerektiren sistemlerde

🎯 Sonuç

Nesne yönelimli programlama, yazılım geliştiricilerin daha düzenli, ölçeklenebilir ve profesyonel kodlar yazabilmesini sağlar. Python ve JavaScript gibi popüler dillerde OOP desteği, bu yapıyı günlük projelerde uygulamayı kolaylaştırır.

Bu içeriğimize tepkiniz ne oldu?
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
Nesne Yönelimli Programlama (OOP) Nedir?
Yorum Yap

Bültenimize Abone Olabilirsin

Yeni içeriklerden haberdar olmak için ücretsiz e-posta aboneliğini hemen başlat.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Giriş Yap

Bilişim Teknolojileri ve Yazılım Sitesi : Bilişimle Gelecek! ayrıcalıklarından yararlanmak için hemen giriş yapın veya hesap oluşturun, üstelik tamamen ücretsiz!

Uygulamayı Yükle

Uygulamamızı yükleyerek içeriklerimize daha hızlı ve kolay erişim sağlayabilirsiniz.

Bizi Takip Edin