Bu içeriğimizde nesne yönelimli programlamanın mantığını, nerede kullanılacağını günlük yaşantıdaki örnekler ile açıklamaya çalışacağız. Nesne yönelimli programlamanın ya da diğer adıyla OOP’nin daha kolay anlaşılması açısından program, programlama ve yazılım gibi kavramların da ne anlama geldiklerini açıklamanın daha yararlı olacağını düşündük.
Program Nedir?
Günlük hayatta karşılaşılan bir problemi bilgisayarla çözmek ve rutin olan işleri kolaylaştırmak adına yazılan yazılımlara denir. Farklı bir deyişle bir bilgisayarın herhangi bir işlevi yapabilmesi için tasarlanan komut zinciridir diyebiliriz. Bir kişinin program yazabilmesi için önce genel itibariyle bir programlama becerisine sahip olması ve de programlama dillerinden birini bilmesi gerekir.
Programlama Dili Nedir?
Programlama dili, bilgisayar ortamında çözümü mümkün olan bir problem için çözümün bilgisayarlara adım adım yazılmasına olanak sağlayan, biçimsel şekildeki tanımlar kümesidir. Günlük yaşantıda çözülmesi istenen problemlerin bilgisayara aktarılması adına kullanılan dil şeklinde de örneklendirebiliriz.
Yazılım Nedir?
Kullanıcıların iş süreçlerinde iyileştirme sağlamak, verimliliği artırmak gibi çeşitli görevler adına hazırlanmış olan programlardır. Günümüzde de ihtiyaçları karşılayabilmek açısından geliştirilen web, mobil ile masaüstü yazılımlar örnek gösterilebilir.
Nesne Yönelimli Programlama (OOP) Nedir?
Nesne yönelimli programlamaya örnek vermek gerekirse gerçek hayattaki görünen radyo, araba, bina… gibi nesnelerin pc ortamına aktarımına denir.
Örneğin, bir lambanın açık ya da kapalı olması durumu ya da radyonun rengi, üretim yılı, markası… ve benzeri özelliklerin bilgisayar ortamında görüntülenmesidir.
Nesne Yönelimli Programlamanın Sağlamış Olduğu Kolaylıklar Nelerdir?
- Gerçek nesnelerin tasarımları bir sınıf içinde yapılır.
- Sınıf içinden nesne üretilip değiştirilmek istendiği zaman bütün programda değişikliğe gitmek gerekmez. Yalnızca oluşturulan nesnelerin sınıf içinde değişiklik yapmak yeterlidir.
- Oluşturulan nesnelerin her biri birbirinden bağımsız olduğundan dolayı bilgiyi gizleme olanağı artar. Bir nesne, başka bir nesnenin özelliklerini hem kullanamaz hem de erişemez.
- Nesne oluşturma belirli bir sınıf içinde gerçekleştirilmektedir ve kodlar başka projelerde de kullanılabilir.
- Oluşturulan bu sınıflar yardımı ile daha az kodla daha çok iş yapılır ve kod tekrarı önlenmiş olur.
- Kod tekrarı önlendiğinden dolayı geliştirme sürecinin de verimliliği artar.
OOP İlkeleri Nelerdir?
Kapsülleme
Her bir nesnenin uygulanması ile durumu özel olarak tanımlanan bir sınır ya da sınıf içinde tutulmaktadır. Diğer nesneler de bu sınıfa ya da değişikliği yapma yetkisine sahip değil. Ancak sadece genel işlevler ya da yöntemler listesi çağırılabilir. Veri gizlemenin söz konusu bu özelliği daha çok program güvenliği sağlamaktadır ve istenmeyen verilerin bozulmalarını da önler.
Soyutlama
Nesneler, sadece diğer uygulamaların kullanımı ile ilgili olan ve de gereksiz olan uygulama kodlarını gizleyen iç mekanizmayı ortaya çıkarır. Bu konsept, geliştiricilerin de zaman içerisinde daha da kolay ekleme ve değişiklik yapmalarını yardımcı olmaktadır.
Kalıtım
Nesneler arasındaki ilişkiler ile alt sınıflar atanabilirler ve bu sayede geliştiricilerin benzersiz olan bir hiyerarşiyi korurken ortak mantığı da tekrar kullanmalarına izin verilir. Nesne yönelimli programlamanın bu özelliği daha da kapsamlı bir veri analizini zorlar ve geliştirme süresini azaltır, yüksek bir doğruluk düzeyini sağlar.
Polimorfizm
Nesnelerin içeriğe de bağlı olarak birden çok forma girmesine izin verilir. Program, söz konusu kodun çoğaltılması gerekliliğini de azaltacak şekilde nesnenin her yürütülüşü için hangi kullanımın ya da anlamın gerekli olduğunu belirleyecektir.
Nesne Yönelimli Programlama Dilleri Nelerdir?
İlk nesne yönelimli programlama dili olarak Simula ele alınmaktadır. En popüler olan nesne yönelimli programlama dilleri ise aşağıdaki gibidir:
- Javascript
- Java
- Phyton
- Visual Basic .Net
- C++
- Scala
- Ruby
- Php