why encapsulation diyerek arattığın zaman karşına birçok örnek çıkıyor bununla ilgili, genel olarak özet geçmek gerekirse, veriyi tek bir noktadan set edebildiğin için verinin etkileyebileceği diğer değişkenlere uygun olarak işlem yapabiliyorsun. böylece veri değişimlerinde programın bozulmasını engellemiş oluyorsun.
belki bu normal bir program kodlarken senin işine yaramayabilir, sen diyorsun ki ben kendi fonksiyonlarım arasında her değer değişimlerini bozulmayacak şekilde yaptığımdan ve son kullanıcının da bu değerlerle işi olmayacağından neden kullanayım bunu? kendince haklısın, fakat biraz daha geniş çaplı özellikle ortak projelerde filan bu özellik önemli hale geliyor.
onun dışında eğer bir program değil de programcıların kullanacağı bir kütüphane, component vs. yazıyorsan da bu değerlere kullanıcının doğrudan erişmesini engellemen gerekebiliyor.
gmoeck.github.com