Nesne Yönelimli Programlama (OOP) Nedir?

📅 05 Ocak 2016|15 Mart 2022
Nesne Yönelimli Programlama (OOP) Nedir?

Konu Özeti

Nesne yönelimli programlama, esas olan gerçek hayatta var olan şeyleri gözlemleyip programlama ortamına aktarılmasını sağlar.

Bu konuda
  • Nesne Yönelimli Programlama'nın ne olduğunu ve nerede kullanıldığını
  • Nesne Yönelimli Programlama ile ilgili bazı terimleri
öğreneceksiniz.
Instagram Logo
Bikifi Instagram'da

Nesne yönelimli programlamada (Obejct Oriented Programming) esas olan gerçek hayatta var olan şeyleri gözlemleyip programlama ortamına aktarılmasını sağlamaktır. Bu programlama türü hem karmaşıklığı hem de artan boyutları azaltmak için yaratılmıştır. Bu sayede kısa sürede ve oldukça kolay bir şekilde yazılımlarımızı geliştirebiliriz. Ayrıca tüm programlama dilleri tarafından desteklenir. Yazılım geliştirmede üç temel aşama vardır.

  • Tasarlama
  • Geliştirme
  • Test Etme

Tasarlama aşaması başarılı geçerse diğer aşamalarda oldukça başarılı geçer. Yani tasarım aşamasını hallettikmi gerisi çorap söküğü gibi gelir.

OOP’den önce kullanılan programlama dili ise prosedürel olarak adlandırılır. Bu programlama dilinin çalışma şekli ise normal ilerleyen kodlara aynı işleri gören ortak fonksiyonlar çağırması ile ilerler, bunu yapmasının nedeni ise iş yükünü hafifletmektir. Bu programlama dili uzun süre kullanıldı fakat OOP kadar pratik değildi. Çünkü bu uygulama bir bir bütün halindeydi ve bu bütünü bozmamak için bütün kodlara hakim olmak gerekiyordu. Uygulama bittikten sonra program üzerinde değişiklik yapınca; o programın bütünlüğünü bozulduğu için büyük sorunlarla karşı karşıya kalınabiliyordu. Ayrıca talep arttığı, teknoloji gittikçe gelişmeye başladığı için boyutlarda büyüdü, yapılan işlerde büyüdü; bu durumda kodlarda fazlalaştı. Bu durumda bütünlüğü korumak zorlaştığı için daha basit bir çözüm yolu OOP’ye geçildi.

OOP’de her parçanın bir sınıfı olmalıdır ve bu sınıflar birbirleri ile iletişim halinde olmalıdır. OOP’de mantık, prosedürel mantığın tam tersi gibi işliyor. Yani ilk olarak programı parçalar halinde oluşturup bir bütün haline getiriyoruz, prosedürel yapıda ise sadece bir bütün halinde yapabiliyorduk. OOP’de yapacağınız sınıflar prosedürel yapının tersine gelişime daha açıktır. Sonradan değişikler yaparak programı daha iyi hale getirmenizi sağlar ve bu hiçbir soruna yol açmaz. OOP, kod tekrarınında önüne geçer buda tercih edilme sebeplerinden biridir. OOP, prosedürel yapıya göre daha az maliyetli bir dildir çünkü prosedürel yapıda kod fazlalığı ve bir bütün halinde çalışmak zorunda olduğundan işçi fazlalığı vardır. OOP’de iş yükü azalıp daha basit bir dil gelince hem işin kalitesi arttı hemde işçi sayısı azaldı bu durumda maliyette azaldı.

Sınıf

Nesne yönelimli programlamada en önemli ve işin mantığını anlamamızı sağlayan özellik sınıf ve nesnelerdir. Çünkü nesne yönelimli programlama nesneler ve onlar arasındaki ilişkisi üzerine kuruludur. Bundan dolayı sınıf mantığının iyi anlaşılması gerekiyor. Nesneler sınıflardan türetilir ve nesnelerin özellikleri sınıflarla belirtilir.

public class galatasaray{

galatasaray sneijder = new galatasaray();

}

Bu örnekte bir sınıftan bir nesne oluşturuldu. Bu kodla beraber sınıf belleğe taşınmış oluyor. New ile ise Galatasaray sınfının bir kopyasını almış oluyoruz ve bellek adresini sneijder değişkeninde saklamış oluyoruz. Bu yazdığım kod sayesinde nesnenin kendisini değil nesnenin yerini gösteren bir kod yazmış oluyoruz. C# değer tipleri ikiye ayrılır değer ve referans tipleri olarak bu kodda tanımladıklarımız ise referans değişkeni oluyor. Ayrıca sınıf ve nesneler referans türünden oldukları için başka bir değişkene kopyalandıkları zaman bir daha yeni bir kopya oluşturulamaz.

Kapsülleme

Nesne yönelimli programlamada en önemli aşamalardan birisidir. Bu özellik kullanılan dilin kullanıcı tarafından gereksiz bulunan kısımlarını saklar. Kapsüllemenin bir diğer önemli işi ise veri korumasıdır. Sınıf altındaki kodları private erişim belirleyicisi sayesinde koruma altına alır. Bu sayede başkaları bunları kullanmak isterse ulaşamayacak ya da sizden izin almak zorunda kalacaktır. Public erişim belirleyicisi ise dış dünyaya açık olduğu için sınıf içindeki mantıkları algılama sorunu yaşar bundan dolayı sınıf içindeki değerlerin uygun olup olmadığı anlaşılamaz. Yani düzgün ve güvenli bir iş yapmak istiyorsak public erişim sağlayıcısı yerine private erişim sağlayıcısı kullanmak hem veri güvenliği hem de iş açısından daha mantıklı olur.

Kalıtım

Kalıtım bu işin en önemli aşamalarından biridir. Kalıtım sınıfların üzerine yeni sınıflar tanımalamak ve bunlara izin verme yetkisi olarak ifade edebiliriz. Kalıtım daha çok sınıfın özelliklerini bir alt sınıftan alarak sanki kendi sınıfıymış gibi kullanmasıda denebilir. Kısaca, varolan bir sınıfa yeni özellikler eklemek için birde alt sınıftan özellik almak için kalıtım kullanılır. C#’da bir sınıf sadece tek temel sınıfa sahip olabilir ama C#’da istenilen sayıda kalıtım uygulanabilir bunada çoklu kalıtım denir.

Çok Biçimlilik

Çok biçimcilik farklı nesnelerin aynı olaya farklı farklı şekillerde yanıt vermesidir. Çok biçimcilik sınıfta olan bir nesnenin özelliklerini sınıf tarafından nasıl değiştirebileceğimizi gösterir. Çok biçimcilik kullanmak için özellikle virtual ve override bi anahtar kelimelerin iyi anlaşılması gerekiyor. Sınıf içindeki nesnenin kendisi tarafından türeyen sınıflar tarafından değiştirilmesini istiyorsa bu virtual ile yapılmalıdır. Ama illa böyle bir değişiklik için virtual kullanılması gerekmez bunu kendi mantığıylada çözebilir. Sınıfın başına override gelirse yeniden kodlanması ve değişik yapması mümkündür. Override ile kod içerisinde itselin sınıfta yer alan bir yeri çağırabilirsiniz. Yani kısaca çok biçimcilik gereksiz uygulamaları kullanıcıdan saklar ve en temel işlevi ise veri korumaktır.

Benzer İçerikler
İnternete Giriş 101: Web Nasıl Çalışıyor?
Blog Yazıları

İnternete Giriş 101: Web Nasıl Çalışıyor?

İçeriğe Git>
Kara Delik Nedir, Kara Deliğin İçinde Ne Var?
Blog Yazıları

Kara Delik Nedir, Kara Deliğin İçinde Ne Var?

İçeriğe Git>
Küresel Isınma ve Sera Gazı Etkisi
Blog Yazıları

Küresel Isınma ve Sera Gazı Etkisi

İçeriğe Git>
Narsist Ne Demektir?
Blog Yazıları

Narsist Ne Demektir?

İçeriğe Git>
Marküteri Sanatı Nedir?
Blog Yazıları

Marküteri Sanatı Nedir?

İçeriğe Git>
Pi Sayısı Hakkındaki 10 İlginç Gerçek
Blog Yazıları

Pi Sayısı Hakkındaki 10 İlginç Gerçek

İçeriğe Git>
Copyright © 2024 Bikifi
Star Logo
tiktok Logo
Pinterest Logo
Instagram Logo
Twitter Logo