Java Classlerde GET ve SET metotları kullanmak neden öncelikli tercih?

SECBEGENAL

Picopat
Katılım
24 Mart 2021
Mesajlar
108
Çözümler
1
[Java] Class'larda GET ve SET metotları kullanmak neden öncelikli tercih?

  • Yazılımcılar değişkeni public yapmak yerine neden private yapıp GET ve SET metotlarını kullanmayı tercih ediyor?
 
Bunu encapsulation diye ararsanız cevaba daha kolay ulaşırsınız.

Çok klişe olacak ama örneğin bir insanın yaşı negatif olamaz. Eğer yaşı tutan değişkeni dışarıdan erişime açarsanız, bu değişkene negatif bir değer atanabilir. Ama set metodu içinde gelen değeri önce bir kontrol edebiliriz.
 
  • Sadece get etmek isteyebiliriz. Immutable fieldlar için önemli.
  • set edilirken değişkenin değeri kontrol edilebilir. Gelen değere göre başka methodlar trigger edilebilir. Bkz. kişi sayısı set edilirken negatif değer girişine izin vermek istemezsiniz. Eğer sadece public olarak bırakırsanız her değer girilebilir. Veya kişi sayısı değiştiği zaman updateLabel gibi bir method çağırılıp değer değişiminde GUI üzerindeki label'ın değeri güncellenebilir.
  • set ederken başka get ederken başka formatta almak isteyebilirsiniz. (set int get string gibi.)
  • ...
Mobil üzerinde olduğum gibi fazla detaylandıramadım.
 
Usttekilere ek olarak:

Nasil araba surerken yanindaki suruculerin her an hata yapabilecek kotu niyetli amatorler oldugunu varsaymak en mantiklisi ise, programlama yaparken de bu sekilde. Private ile halledebiliyorsan public kullanma. Class'lari immutable yap. Gerekmedikce setter ekleme. Collection return ediyorsan immutable collection return et.
 

Geri
Yukarı