Programlama dillerinde encapsulation (kapsülleme) amacıyla sınıflar içerisindeki alanlara doğrudan erişilmesi yerine getter ve doğrudan güncellenebilmesi yerine setter adı verilen metodlar kullanılır. Böylece istenmeyen erişimler ve güncellemelerin de önüne geçilmiş olur.
Kapsülleme işlemlerinde sınıflara ait değişkenler private olarak yazılırlar ve istenen getter/setter'lar da public olarak bu değişkenlere erişim ve güncelleme işlemlerini gerçekleştirirler.
Örnek olarak personel sınıfının isim değişkenini doğrudan erişime kapatalım ve getter ile setter metodlarını yazalım.
public class Personel {
private String ad;
// Getter
public String getAd() {
return ad;
}
// Setter
public void setAd(String yeniAd) {
this.ad = yeniAd;
}
}
Bir personel nesnesi oluşturalım ve getter ile setter metodlarını kullanalım.
Personel kisi1 = new Personel();
kisi1.setAd("Mahmut"); // ad değişkeni "Mahmut" olarak atanmış oldu
System.out.println(kisi1.getAd()); //Mahmut çıktısı alındı
Not: Olması gerektiği gibi personel nesnesinin ad değişkenine doğrudan erişim artık mümkün değildir.
Personel kisi1 = new Person();
kisi1.ad = "Mahmut"; // hata
System.out.println(kisi1.ad); // hata
Editör editi: sitedeki bazı diğer benzer yazılar için;
bkz: Programlamada Encapsulation (Kapsülleme) Nedir?
bkz: Programlama Dillerinde Kalıtım Nedir?
bkz: Programlama dillerinde hata ayıklama (debugging) nasıl yapılır?
bkz: Programlama dillerinde diziler (array) ne işe yararlar?
bkz: Programlama dillerinde while (true) ifadesi ne işe yarar?
bkz: Programlama dillerinde if ile switch case arasındaki fark nedir?