Bu yazımda nesne tabanlı programlamayı (object oriented programming -OOP) genel hatlarıyla anlatmaya çalışacagım.
Karmaşıklıgı ve boyu artan yazılımların kolayca ve kısa sürede geliştirilebilmesi gerektiginden OOP tüm modern diller tarafından desteklenir.
Sınıf
OOP'da sadece nesneler vardır. Nesneler sınıf olarak belirtilen şablonlardan yaratılırlar. Her sınıf içinde üretilecek nesnelerin davranışlarını belirleyen özellikler mevcuttur. Örnegin araba sınıfını yarattıgımızı düşünelim. Bu sınıftan üretilecek nesnelerin ortak yanları vardır. Sınıfın içerisinde tanımlanmıştır.
Nesne
Nesneler sınıflardan üretilir. Nesneler sınıfların kimliklendirilmiş canlı halleridir diyebiliriz. Aynı sınıftan üretilmiş nesnelerin özellikleri birbirinden farklıdır. Araba örnegini düşündügümüzde arabalardan biri BMW biri Ford olabilir ama ikiside araba sınıfından türetilmiştir.
Metodlar
Metodlar nesnelerin dış dünyaya açılan kapılarıdır. Eger nesne ile interaksiyon a girmek istiyorsak, dışa açılan kapılarından (metodlardan) birini kullanmamız gerekir. Nesnelere, sınıf içinde tanımlanmış ve her nesnenin sahip oldugu metotlar aracılığıyla mesaj gönderebiliriz. Eger bir nesneden bir şey yapmasını bekliyorsak, metodunu kullanarak, ona bir mesaj göndeririz. Nesne bu mesajı alarak, gerekli işlemi yapar.
OOP 3 prensibe sahip olması gerekmektedir. Bunlar:
Encapsulation: Nesne hakkındaki bilgiler ve işlemler anlamına gelir. Metot ve özellik olarak adlandırdığımız bu işlemler bir nesnenin niteliklerini ve işlemlerini ortaya koyar. Örneğin bir arabanın rengi, büyüklüğü gibi özellikleri.
Inheritance: Bir nesnenin başka bir nesne üzerine (bir üst nesneden etkilenerek) kurulmasıdır. Örneğin bir arabanın parçalardan oluşması ve parçanın da arabanın tam nesnesinden etkilenmesi gibi.
Polymorphism: Farklı nesnelerin aynı mesaja farklı cevap verebilme yetenegidir. Mesela araba sınıfından türetilen BMW nin arabanın korna() metoduna sahip olması ama korna metoduna farklı cevap vermesi gibi.
Kaynaklar:http://www.javatpoint.com/java-oops-concepts
http://www.ismailgursoy.com.tr/nesne-yonelimli-programlama-oop-nedir/
https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/nesne-ve-nesne-yonelimli-programlama-teorisinin-4-temel-ozelligi
Hiç yorum yok:
Yorum Gönder