OOP, Nesne Yönelimli Programlama anlamına gelir. Nesne yönelimli bir programlama dili, programlamasında nesneleri kullanır. Nesne yönelimli kavramlarla programlama, bir programda kalıtım, polimorfizm, soyutlama vb. gibi gerçek dünya kavramlarını taklit etmeyi amaçlar.
C++ dili, C diline nesne yönelimli programlama eklemek amacıyla tasarlanmıştır. Programın boyutu arttıkça, programın okunabilirliği, sürdürülebilirliği ve hatasız yapısı azalır. OOP'nin temel amacı, verileri ve bunlar üzerinde çalışan işlevleri birbirine bağlamaktır, böylece kodun başka hiçbir bölümü bu işlev dışında bu verilere erişemez.
Bu, işlevlere veya prosedürlere dayanan C gibi dillerdeki en büyük sorundu (bu nedenle prosedürel programlama dili adı). Sonuç olarak, sorunu yeterince ele almama olasılığı yüksekti. Ayrıca, veriler neredeyse ihmal ediliyordu ve veri güvenliği kolayca tehlikeye atılıyordu. Sınıfları kullanmak, programı gerçek dünya senaryosu olarak modelleyerek bu sorunu çözer.
- Bilgisayarın izlemesi için bir dizi talimat yazmaktan oluşur
- Ana odak, veri akışı değil, işlevlerdir.
- İşlevler yerel veya genel verileri kullanabilir
- Veriler, işlevden işleve açık bir şekilde taşınır
- Nesne yönelimli programlama
- Sınıf, nesneler oluşturmak için bir şablondur
- Verileri kritik bir öğe olarak ele alır
- Nesnelerdeki sorunu ayrıştırır ve nesnelerin çevresinde veri ve işlevler oluşturur
- Temel olarak, prosedürel programlama, verileri manipüle eden prosedürleri veya işlevleri yazmayı içerirken, nesne yönelimli programlama, hem verileri hem de işlevleri içeren nesneler oluşturmayı içerir.
- Sınıflar - Nesne oluşturmak için temel şablon. Bu, nesne yönelimli programlamanın yapı taşıdır.
- Nesneler – Temel çalışma zamanı varlıkları ve bir sınıfın örnekleri.
- Veri Soyutlama ve Kapsülleme – Verileri ve işlevleri tek bir birime sarma
- Kalıtım - Bir sınıfın özellikleri başkalarına miras alınabilir
- Polimorfizm - Birden fazla form alabilme yeteneği
- Dinamik Bağlama – Yürütülecek kod, program çalışana kadar bilinmez
- Mesaj Geçirme – mesaj (Bilgi) çağrı formatı
Nesne yönelimli programlamanın birçok avantajı vardır. Aşağıda listelenen birkaçıdır.
- OOP içeren programların yürütülmesi daha hızlı ve kolaydır.
- Nesneleri ve kalıtımı kullanarak programlar için net bir yapı sağlar ve kodun yeniden kullanılabilirliğini geliştirir.
- Kodun bakımını, değiştirilmesini ve hata ayıklamasını kolaylaştırır.
- Veri gizleme ilkesi, güvenli sistemler oluşturmaya yardımcı olur
- Birden Fazla Nesne, herhangi bir müdahale olmaksızın bir arada var olabilir
- Yazılım karmaşıklığı kolayca yönetilebilir, böylece daha az kod ve daha kısa geliştirme süresi ile tamamen yeniden kullanılabilir yazılımların oluşturulması bile mümkündür.