Nesne Tabanlı Programlama ve Kapsülleme ( encapsulation ) nedir ?

Bir önceki yazımda sınıf ve nesne kavramından bahsetmiştim.  Yeni bir personel class’ı oluşturmuştuk ve içinde bazı veritipleri tanımlamıştık. Bu veri tipimizi doğal olarak kullanıcının tasarrufuna (kullanımına) açacağız . Ama burada şöyle bir durum söz konusu ? Eğer kullanıcı veri girerken bazı sınıırları aşarsa ? anlamsız olabilecek değerler girerse ne olacak ? Mesela : personel doğum_tarihi diye bir verinin olduğunu düşünelim. buraya girilecek değerler belirli sınırlarda olmalı bir personel için buğün’ün tarihi doğum tarihi olarak girilemez.  Eğer böyle bir değer girilirse programımızda çöküşler baş gösterecek  ve bilgi tutarsızlıkları oluşacak ve daha bunun gibi birçok sorun olacaktır. İşte bu durumlarda belirli  sınırlar koymak gerekir. Verilerimiz hoyrat bir şekilde kullanıma açılmaz yada açılmamalı.

Aslında bu tür sınırlar herşey de hemen hemen vardır. Şöyle düşünün bir cihazın her yerine müdaheliniz olmuyor bazı şeyler üreticinin tasarrufunda, size verdiği sınırlar içinde hareket edebiliyorsunuz. Her fonksiyonu kafanıza göre kullanamıyorsunuz.

Kapsülleme de aynen bunun gibi kullanıcıya herşeyi açmıyorsunuz. bazı konularda sınır koyuyorsunuz. Kullandığımız aracın motor daha yüksek hızlara çıkabilir belki ama bunu üretici sınırlar. Çünkü aracın diğer donanımları buna müsade etmez.

Sizde program yaparken kullanıcıyı sistemi bozacak işlerden uzak tutmak için verilerinizi kapsüllerseniz. bunu yapmanan yoluda şöyle ; erişim belirleyici kullanmak ve “getter” ve “setter” metodlarını kullanmak.

devamını da bir sonraki yazıda  detaylandıralım.

2 Yorum: “Nesne Tabanlı Programlama ve Kapsülleme ( encapsulation ) nedir ?”

  1. Ali Zafer BOZKIR dedi ki:

    encapsulation doğru
    Encalupsion yanlış

  2. admin dedi ki:

    Tmmdir düzeltiyorum teşekkürler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir