Sobes.tech
Intern

Nesne yönelimli programlama (OOP) nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesne yönelimli programlama (OOP), "nesneler" kavramına dayanan bir programlama paradigmasıdır; bu nesneler, veri (alanlar veya özellikler olarak adlandırılan) ve kod (işlevler veya davranışlar olarak adlandırılan prosedürler) içerebilir.

OOP'nin temel ilkeleri:

  1. Kapsülleme: Verileri ve bu veriler üzerinde çalışan metodları tek bir varlıkta (nesnede) toplama. Nesnenin iç durumunu gizler ve yalnızca gerekli arayüzü açığa çıkarır.
  2. Soyutlama: Nesnenin temel özelliklerine odaklanmak, önemsiz detayları görmezden gelmek. Karmaşık sistemleri basitleştirilmiş şekilde temsil eder.
  3. Miras: Bir sınıfın (alt sınıf veya türetilmiş sınıf) başka bir sınıfın (üst sınıf veya temel sınıf) özelliklerini ve metodlarını miras almasını sağlayan mekanizma. Kodun yeniden kullanılmasını teşvik eder.
  4. Çok Biçimlilik: Aynı arayüzü farklı temel veri türleri için kullanabilme yeteneği. Farklı sınıflardan nesnelerin, aynı metod çağrısına farklı şekilde yanıt vermesini sağlar, bu da onların özgü türüne bağlıdır.

C#'ta OOP'nin ek kavramları:

  • Sınıflar: Nesneler oluşturmak için şablonlar veya planlar. Nesnelerin yapısını ve davranışını tanımlar.
  • Nesneler: Bellekteki sınıf örnekleri.
  • Arayüzler: Bir sınıfın uygulaması gereken üyeler kümesini (metodlar, özellikler, olaylar) tanımlayan sözleşmeler. Soyutlama ve çoklu uygulama sağlarlar.

OOP'nin avantajları:

  • Kodun yeniden kullanımı.
  • Daha iyi modülerlik ve kod organizasyonu.
  • Büyük sistemlerin bakım ve genişletilmesini kolaylaştırır.
  • Nesneler aracılığıyla gerçek dünya ile daha iyi uyum sağlar.

Örnek:

// Sınıf örneği
public class Dog
{
    // Alan (özellik)
    public string Name { get; set; }

    // Metod (davranış)
    public void Bark()
    {
        Console.WriteLine($"{Name} Woof diyor!");
    }
}

// Nesne oluşturma ve kullanma örneği
/*
Dog myDog = new Dog(); // Dog sınıfından nesne oluşturma
myDog.Name = "Buddy"; // özellik değerini ayarlama
myDog.Bark(); // metod çağrısı

Dog anotherDog = new Dog { Name = "Lucy" }; // başka bir nesne oluşturma ve başlatma
anotherDog.Bark();
*/