4 Temmuz 2016 Pazartesi

Java Setter ve Getter Metodları (Eclipse)

Java programlamada kapsülleme ile değişkenlere doğrudan erişim engellenebilir. Private erişim belirleyici ile değişkenlerin diğer sınıflardan (class) direkt olarak çağırılması, ulaşılması engellenir. Sadece bulunduğu sınıf tarafından kullanılır. Bu yaklaşımın en önemli sebebi güvenliktir. Doğrudan erişim kapatıldığı için belli kurallar bütününde erişim sağlanır. Bu erişim Set ve Get metodlarıyla mümkün kılınmıştır. Her değişkenin kendine ait set ve get metodları tanımlanmalıdır.

Get metodu return ile bir değer dönmektedir. Bu sayede istediğimiz değişkenin değerine ulaşabiliriz. 

Set metodu return dönmez fakat parametre alır. Bu parametreye verdiğimiz değer ile var olan değeri değiştirebiliriz.


public class Ogrenci{


        private String ad;
        private int not;
 
        //Yapılandırıcı
        public Ogrenci() {
   
        }
        //------Setter-Getter------
        public String getAd() {
                return ad;
        }
        public void setAd(String ad) {
                this.ad = ad;
        }
        public int getNot() {
                return not;
        }
        public void setNot(int not) {
                this.not = not;
        }
      
}

ad ve not adında iki adet değişken tanımlandı. Bu değişkenlerin erişim belirleyicisi private yapıldı. Böylelikle diğer sınıflardan doğrudan erişim kapatıldı. getAd ve getNot metodlarıyla değişkenlere erişilebilir. setAd ve SetNot metodlarıyla değişkenlerin değerleri değiştirilebilir.



Eclipse'de değişkenlerin otomatik olarak set get metodlarını oluşturmak mümkün. Bunun için var olan java sınıfının içinde herhangi bir yere sağ tıklıyoruz.




Source -> Generate Getters and Setters... yolunu takip ediyoruz.





Açılan bu ekranda hangi değişkenin set ve get metodunu istiyorsak ona tik koyabiliriz. Select All diyerek tüm değişkenleri seçebiliriz.





Insertion point ile bu metodların sınıf içerisindeki konumunu belirleyebiliriz.





OK diyerek metodları tamamlamış olduk.

1 yorum:

  1. Merhaba, bu konuyu anlamaya çalışan bir öğrenciyim. Ancak biz erişimi private ile kısıtlanan bu değişkenlere getter setter metodlarını uyguladığımızda yine erişime açık olmuyor mu? O zaman public static den farkı ne oldu. Yapacağınız bilgilendirme için şimdiden teşekkür ederim.
    İbrahim...

    YanıtlaSil