10 Kasım 2015 Salı

Java – Encapsulation


Encapsulation kavramının genel mantığı field ve methodları bir class içerisinde sunmasıdır.
Encapsulation’da bir class’ın değişkenlerine (variables) diğer classlar tarafından doğrudan erişilemez ve sadece o sınıfın methodları aracılığı ile erişilebilir.
Encapsulation için;
·         Class’ın değişkenleri private olarak tanımlanır.
·         Değişkenlere diğer classlardan erişebilmek ve güncelleyebilmek için setter ve getter methodları oluşturulur.

Örnek bir Kisi classı oluşturalım:

public class Kisi {

      private String ad;
      private String soyad;
      private int id;

      public String getAd() {
            return ad;
      }

      public void setAd(String ad) {
            this.ad = ad;
      }

      public String getSoyad() {
            return soyad;
      }

      public void setSoyad(String soyad) {
            this.soyad = soyad;
      }

      public int getId() {
            return id;
      }

      public void setId(int id) {
            this.id = id;
      }
}

Kisi classındaki ad, soyad ve id değişkenlerine başka classlardan erişebilmek, değiştirebilmek için public setXXX() ve getXXX() methodları kullanılır.

Kisi classı değişkenlerine aşağıdaki gibi erişilip, değiştirilebilir.

public class EncapsulationTest {

      public static void main(String args[]) {

            Kisi testKisi = new Kisi();

            testKisi.setAd("Busra");
            testKisi.setSoyad("Aktas");
            testKisi.setId(123);

            System.out.println("Ad: " + testKisi.getAd());
            System.out.println("Soyad: " + testKisi.getSoyad());
            System.out.println("Id: " + testKisi.getId());
      }
}

Çıktı:
Ad: Busra
Soyad: Aktas
Id: 123

Encapsulation sayesinde verilerin daha tutarlı olmasını sağlayabiliriz.

Hiç yorum yok:

Yorum Gönder