Android – Java Erişebilirlik Seviyeleri

Javada değişkenleri, metotları yada sınıfları tanımlarken en başta yazdığımız public, prtected, private gibi anahtarlar ile bunlara erişimi belirleriz. Programın başka bir yerinden, bir metot, bir sınıf içerisinden bu değerlere erişimi bu terimler ile kısıtlarız.

  1. public
  2. protected
  3. private
  4. friendly (Erişim belirleyici kullanmadan yaptığımız tanımlamalar.)

Java’nın sitesinde yayınlanan aşağıdaki tablo gayet güzel açıklamış.

Modifier
Class
Package
Subclass
World
public
Y
Y
Y
Y
protected
Y
Y
Y
N
no modifier
Y
Y
N
N
private
Y
N
N
N

 

Getter & Setter

Önemli konulardan bir olan getter ve setter metotlarına değinelim. Erişim belirleyicileri ile erişimi kısıtlayarak sınıf içerisindeki değişkenleri daha güvenli bir hale getirdikten sonra bu değişkenlere direkt olarak erişmek yerine artık getter ve setter denen metotları kullanırız. Değişkenlere erişirken kullanılması gereken yöntem budur, daha doğru bir yaklaşımdır. Bir yazılım etiği gibi düşünebilirsiniz.

Örnek ile birlikte anlatımına geçelim.

public class ogrenci {
    private String isim;
    private int yas;
    private String bolum;

    //constructor
    public ogrenci(String isim, int yas, String bolum) {
        this.isim = isim;
        this.yas = yas;
        this.bolum = bolum;
    }

    //getter ve setter metotları
    public String getIsim() {
        return isim;
    }

    public void setIsim(String isim) {
        this.isim = isim;
    }

    public int getYas() {
        return yas;
    }

    public void setYas(int yas) {
        this.yas = yas;
    }

    public String getBolum() {
        return bolum;
    }

    public void setBolum(String bolum) {
        this.bolum = bolum;
    }
}

Örnekte ogrenci adında bir sınıf oluşturdum ve bu sınıfın değişkenlerine private ile başka yerlerden erişimi engelledim. Bu durumda bu değişkenleri programın başka bir yerinden kullanmak için, yani değer atamak ve ekrana yazdırabilmek için her değişken için get ve set metot tanımlamaları yaptım.

Artık bu sınıfın değişkenlerini kullana bilmek için aşağıdaki gibi yazmalıyız.

// ugur adında bir öğrenci nesnesi oluşturdum ve değerleri atadım
ogrenci ugur = new ogrenci("Uğur",29, "Java");

//setter metodu yardımı ile değerlerden bazılarını değiştirdim.
ugur.setIsim("Uğur Öksüz");
ugur.setBolum("Java, Andorid programlama");

//getter metodu yardımı il değerleri ekrana yazıdırdım.
System.out.println(ugur.getIsim());
System.out.println(ugur.getYas());
System.out.println(ugur.getBolum());

 

Leave a Comment

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.