Merhabalar,
Bu yazımızda nesne yönelimli (Nesne tabanlı) programlama nedir, nesne yönelimli programlama nasıl yapılır, nesne tabanlı programlama ne işe yarar gibi sorulara cevap vermeye çalışacağız.
Nesne tabanlı programlama hakkında konuşurken bu yazımızda .net destekli diller C# ile ilgili örnekler vererek eğitim dalında ve üretim sektöründe kullanılan, canlı örnekler ile konuyu daha iyi anlamamızı sağlamaya çalışacağız.
Modern dillerin bir çoğunda nesneye yönelimli programlama tekniği desteklenmektedir. Bu teknik yazılı geliştirmeyi kısaltan ve sistematik hale getiren bir yapıdır. C# dili de bu tekniği tamamıyla desteklemektedir. Nesne yönelim tekniği, gerçek hayatı programlar için simule edecek yöntemlerin birleşimidir. Bu teknikte geliştirilmek istenen sistem parçalara ayrılır ve bu parçalar arasında ilişkiler kurulur. Parçalar isteğe göre bağımsız ya da ilişkili olarak atanabilir. Bağımsız bileşenler dahi birbirleriyle haberleşerek iletişimde bulunabilirler.Tüm nesneler birer sınıf örneğidir, sınıflar nesnelerin özellilerini belirlerler Nesneler derleme ya da çalışma anında oluşturulabilir.
Nesne yönelimli programlama söz konusu olduğunda ortaya çıka bazı kavramlar şunlardır:
-Sarmalama (Encapsulation)
Nesne yönelimli programlama tekniğinin en temel bileşeni oluşan nesnelerdir. Nesneler içeriklerinde veriler barındırırlar. Veriler arası ilişkiler sağlayan fonksiyonlara da sahiptirler. Nesnelerin veri ve fonksiyon gibi bileşenleri içermesine sarmalama(encapsulation) denir.
-Bilgi Saklama ( Information Hiding)
Nesne içindeki veriler ve fonksiyonlar nesnenin dışarıya nasıl hizmet verdiğini belirler. Fakat bu hizmeti nasıl verdiği belli değildir. Nesenin hizmetinden faydalanmak için nesnenin dış dünyadan erişilen arayüzünün bilinmesi yeterlidir. Buna bilgi saklama (informtion hiding) denir.
-Geç Bağlama (Late Binding)
Nesneler birbirlerinden bağımsız olmasına rağmen aralarında haberleşebilirler. Hangi nesnenin hangi nesneye mesaj göndereceği, hangi nesnelerin fonksiyonlarının kullanılacağı derleme aşamasında belli olmayabilir. Bu durumda geç bağlama (late binding) mekanizmasından faydalanılır.
-Kalıtım (Inheritance)
Kalıtım ile nesneler birbirinden türetilebilir. Türeyen sınıf diğer sınıfın tüm özelliklerini ve kendine has özellikleri içerebilir. Kalıtım yolu ile türetilmiş sınıflar ile hiyerarşik sınıf organizasyonu gerçekleştirilebilir.
-Çok Biçimlilik (Polymorphism)
Nesne yönelimli programlama tekniğinde nesneler çok biçimli olabilir. Çok biçimlilik (polymorphism) kavramı türeme ile alakalıdır ve anlamı bir nesnenin farklı şekillerde davranabilmesidir.
Nesne Yönelimli Programlama’da Nesne Kavramı
Gerçek dünyadaki varlığını bildiğimiz bir çok şey birer nesnedir. Nesne yönelimli programlama tekniğinde de sınıflar nesnelerin biçimini belirlerler. Oluşturulan nesneler sınıf türünden nesne olarak adlandırılır. Her nesne kendi içinde tutarlı bir yapıya sahiptir yani veriler arasında sıkı bir bağ bulunur ki bu nesne mantığının temelidir. Sınıflar nesnelerin şeklini belirlerler. Yani nesnenin türünü tanımlarlar. Kısaca bir tür bilgisidir.
Sınıflardan nesneler oluşturmak için new anahtar sözcüğü kullanılır. Bir nesneyi oluşturmak için örnek verecek olursak:
Sinif1 olusanNesne = new Sinif1();
Bu yazımızda nesne tabanlı (nesne yönelimli) programlama hakkında genel bilgiler verdik. Nesne tabanlı programlama için her başlığı teker teker daha sonra açıklayacağım.
Anlayamadığınız ya da kafanıza takılan sorular için yorumlar kısmını kullanabilirsiniz.
Teşekkürler.