Sarmalama / Paketleme (Encapsulation)

Encapsulation, bir nesnenin özelliklerinin dışarıdan kullanılmasını sınırlamak için kullanılır. Bir insanı örnek verecek olursak vücudumuzda yapılan işler sarmalanmıştır ve biz birey olarak buna müdahele edemeyiz. Örneğin, biz soluma işlemini yaparız ama ciğerin şişmesi, kana oksijen karışması, kirli kanı temizlemek gibi işlemler içeride yapılıyor olsa da, bizim için durum sadece solumaktan ibaret bir durumdur. Diğer tüm işlemler sarmalanmıştır. Bu mantık aynı şekilde nesnelerimizin işlemleri kendi içinde yapmasıdır. Bu sayede kullanım kolaylılığı ve veri güvenliği sağlanmış olur.

Bu işlemler yapılırken en önemli unsurlardan biri access modifier'ların doğru bir şekilde kullanılmasıdır. Nesne tanımlamaları yapılırken Private erişim belirleyicisini kullandığımız zaman bir field'ı başka sınıflardan gizlemiş oluruz. Fakat bazı durumlarda private field'lara erişmemiz ve özelliklerini kullanmamız gerekebilir. Bu durumda Property kavramı devreye girer. Property bir field'ın get ve set değerlerini ayarlamaya imkan sağlar.


Yukarıda ki örneği incelersek _height ve _width field'ları private olarak verildiğinden dışarıya kapatılmıştır. Bunlara erişim için ise property'ler tanımlanmıştır. Get ve Set ile field'ın değerleri ayarlanmıştır.

Yorumlar