1. Anasayfa
  2. Java

Java Serisi #4 Encapsulation

Java Serisi #4 Encapsulation
0

ENCAPSULATION (KAPSÜLLEME)

Bir sınıfın içerdiği özellik ve metotları bazen gizlemek isteriz. Bunun nedeni güvenlik veya tasarım olabilir.

Mesela bir giriş ekranı düşünelim. Farklı bir class altında şifremiz ve kulllanıcı adı tutuluyor ve buna başka bir sınıftan erişip değiştirilmesini engellemek istiyoruz. Burada private ile  gizlenmesini istediğimiz özellikleri gizliyoruz, ulaşmak istersek getter ve setter metotlarını kullanıyoruz.

 

GETTER VE SETTER

Getter ve setter ile private olan bir class özelliğine başka bir class’tan erişebiliriz. Get ile değeri döndürüp, set ile de yeni değer ayarlayabiliriz. Kullanılan IDE ortamı otomatik olarak get ve set eklemeyi destekliyor olabilir.

 

 Netbeans’de getter ve setter ekleme

 

Aşağıdaki örnekte bir login erkanında kullanıcı adı ve şifre istedik. Kullanıcı adı ve şifre farklı bir sınıfta private ile gizleniyordu. Get ile bu değerlere erişip kıyaslama yaptık. Örneği detaylı olarak inceleyiniz.

 

 Bilgiler doğru ve yanlış girildiğinde oluşan çıktılar

 

Örnekte görüldüğü üzere encapsulation ile bir sınıfın kendi içeriğini gizleyip dışarıdan erişime engellediğini gördük. Eğer get metodunu kullanmasaydık kullanıcı adı ve şifreye erişemeyecektik ve program hata verecekti.

Get ile bilgiye ulaştık, peki ya set? Şimdi set ile şifremizi değiştirelim. Bu yüzden final ifadesini kaldırmamız gerekecek. Kullandığınız ide ortamı kısayolu destekliyorsa zaten final ifadesini kaldırmadığınız sürece setter ekleme seçeneğinin gelmediğini görüceksiniz.

 

 

Kısaca Encapsulation’un Avantajları

  • Verilere erişme veya değiştirilme şeklinin kontrolü
  • Daha esnek ve kolay değiştirilebilen kod
  • Kodun bir kısmını diğer kısımlarını etkilemeden değiştirebilme

Bu yazımızda encapsulation’un nerelerde kullanılabileceğini, avantajlarını ve getter setter ile private olan bir özelliğe erişmeyi gördük. Ayrıca yukarıdaki örnekleri dikkatli olarak incelerseniz final anahtar kelimesi ile bir özelliğin daha sonra değiştirilmemesini ve equals metodu ile eşitliği sorgulamayı gördük.


Gördüğünüz hatalar, önerileriniz ve sorularınız için telegram gruplarımızdan bizimle iletişime geçebilirsiniz.

Devamı için takipte kalınız.

Ne Düşünüyorsun?
  • 0
    harika_
    Harika!
  • 0
    g_zel_
    Güzel!
  • 0
    haval_
    Havalı!
  • 0
    e_lenceli_
    Eğlenceli!
  • 0
    _zg_n_m_
    Üzgünüm!
  • 0
    sevmedim_
    Sevmedim!

Sakarya Üniversitesi - Bilgisayar Mühendisliği

Yazarın Profili
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir