Kapsülleme (Encapsulation) Kavramı

Nesneye yönelik programlama(OOP) temellerinden biri de Kapsülleme (Encapsulation)  kavramıdır. Kapsülleme (Encapsulation) esas amacı; field,method,propert,class gibi yapılara kontrolsüzce,gereksiz erişimi engelleyerek kullananın kafasını karıştırmadan,yanlış tanımlamalara mahal vermeyip oluşabilecek hataları en aza indirerek istenilen noktaya en hızlı şekilde ulaşılmayı sağlamaktır. Erişim belirleyiciler imiz (Access Modifiers); Public anahtar sözcüğü bir yöntem yada alana hem içeriden hemde dışarıdan erişilmesi gerektiğinde kullanılırken, Private anahtar sözcüğü bir yöntem ya da alana sadece bir sınıfın içerisinden erişilmek istediğinde kullanılır. oluşturulan yöntem ya da alanlara varsayılan olarak  private anahtarı gelir. Proctected anahtar sözcüğü ise tanımlanan metoda bu metodun tanımlandığı sınıftan örneklendirilmiş nesnelerin içinden ve bu sınıftan türetilmiş olan alt nesnelerden erişilebilir. internal olarak tanımlanan öğe, bulunduğu assembly’nin (Dll veya Exe dosyası) içinde erişilebilirdir. Dll veya Exe dosyasının içerisinde erişim için kısıtlama yoktur, ama dışarıdan erişilemez. protected internal erişim belirleyicisi, protected ve internal erişim belirleyicilerinin VEYA (OR) işlemiyle birleştirilmiş halidir. protected internal olarak tanımlanmış öğe, tanımlandığı class’ın içinde ve o class’tan türetilmiş diğer class’ların içinde erişilebilir. Ayrıca, aynı assembly içinde olmasalar dahi, tanımlandığı class’tan türetilmiş diğer class’ların içinde de erişilebilirdir. Continue reading

Sınıf(Class) ve Nesne(Object)Kavramları

bilindiği gibi Csharp nesneye yönelimli (OOP)bir programlama dildir. Nesneye yönelimli bir dilde class kavramı işin olmazsa olmazlarındandır. Sınıf kavramı soyut bir kavramdır. Programlama sırasında dünyadaki ya da akıldaki mantıksal nesnelerin ifade edilmesi için Class yapısı kullanılır. Sınıfların özellik (property) ve yöntemleri (method) vardır.
Özellikler(property), sınıfı tanımlayan verileri olup, yöntemler(method)  ise sınıfın yapabileceği işlemler, yani yetenekleridir. Sınıf tanımı içinde sınıfa ait özellik ve yöntemler belirtilir. Programda sınıf tanımlarından nesneler türetilir. O nedenle sınıf tanımı, aynı zamanda nesne şablonu olarak da düşünülebilir. Sınıfların amacı, bir yapıyı bir kez tanımlamak, isimlendirmek ve tekrar tekrar kullanılmasını sağlamaktır. Nesne ise belirli bir durum ve davranışı içeren  soyut veya somut varlıkları temsil eder. Örneğin; Araba,Kapı,Buzdolabı,Bilgisayar vb. Nesnelerin Kişiliği (“identity”), Özelliği (“attribute”), Durumu (“state”), Davranışı (“behavior”), Sorumlulukları (“responsibility”) vardır. Continue reading