JAVA NESNE PROGRAMLAMA 3 – KAPSÜLLEME – ENCAPSULATION

OOP denilince akla 4 özellik geliyordu. Soyutlama, kalıtım, çok biçimlilik ve de kapsülleme. Şimdi kapsülleme kısmına bakalım.

Kısaca kapsülleme’de anahtar kelimemiz “Erişim” olsun. Bir nesnenin verilerini ve özelliklerini dışardan erişime kapatma anlamına denir. Kapsülleme ile hem verilerimizi koruma altına alıyoruz hem de güvenliğini sağlıyoruz.Erişimleri nasıl yaptığımıza gelirsek? Öncelikle erişim belirleyicileri ve tanımına bakalım.

Public (Herkese Açık)

Uygulama içerisinde tüm sınıf ve fonksiyonlardan erişilmektedir. Aynı pakette olması gibi bir zorunluluk yoktur. Farklı paketten alıyorsan o paketin import edilmesi gereklidir.

Private (Özel)

Başka sınıf ve paketlerden erişimin olmadığı durumlardır. Sınıflar private olarak tanımlanamazlar. Sadece dahili sınıflar private olarak tanımlanabilirler. Public sınıfın içinde bir metot private olarak tanımlanırsa o metot artık o sınıfa özgü hale gelir. Bir özelliği read only yapmak için private yaparız. Ona erişmek için public metot yazılır. Dolaylı olarak sınıfın özeliklerini dışarıdan öğrenebiliriz.

protected (Koruma)

Korumalı anlamına gelir. Bu erişim belirleyicisi ile herhangi bir eleman türetilmiş olan ve aynı paket içerisinde olan sınıflar içerisinden erişilebilir.

 

Java’da private değişkenlere ulaşmak için Java Bean (Getter/Setter) Yapısı kullanırız.

Java’da başka bir classta tanımlanmış olan private değişkenlerin kullanılmasını sağlayarak data encapsulation durumunun sağlanmasına olanak tanıyan metodlara Setter ve Getter denir.

Get bir return değeri dönderirken Set return değeri döndermez.

 

 

 

 

 

Post Author: umiitkose

Bir Cevap Yazın

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

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">