Şimdi Ara

Java set ve get metotları nedir ne işe yarar ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
11
Cevap
0
Favori
6.847
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar javada set ve get metodlarını anlamadım tam olarak tanımı nedir (basit bir dille) ve ne işe yarar?



    < Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 8 Ağustos 2016; 13:38:18 >



  • Get oku

    Set yaz


    Normalde esitleyerek değer ataması yapilabiliyorken set yardımıyla esitleme işleminden başka işler de yaptirilabilir . Atiyorum değer sıfırın altindaysa sıfır degerini atayabilirsiniz . Bunun kontrolu set metodunun icinde gizli olacagi icin kod kirliligi de yapmaz. Get de benzer şekilde . Atiyorum hangi thread istiyor ona bakarsınız . Ana thread değilse hile programı olabilir o zaman rastgele değer dondurebilirsiniz



    < Bu mesaj bu kişi tarafından değiştirildi gpgpu -- 8 Ağustos 2016; 14:14:51 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: gpgpu

    Get oku

    Set yaz


    Normalde esitleyerek değer ataması yapilabiliyorken set yardımıyla esitleme işleminden başka işler de yaptirilabilir . Atiyorum değer sıfırın altindaysa sıfır degerini atayabilirsiniz . Bunun kontrolu set metodunun icinde gizli olacagi icin kod kirliligi de yapmaz. Get de benzer şekilde . Atiyorum hangi cistiyor ona bakarsınız . Ana thread değilse hile programı olabilir o zaman rastgele değer dondurebilirsiniz

    set metoduna dair söylediklerini anladım ama get için anlamadım açıkçası, bunu biraz daha açarsanız çok sevinirim (bir de thread nedir ?)



    < Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 8 Ağustos 2016; 14:28:32 >
  • deniz caliskan kullanıcısına yanıt
    Tamam thread i boşver kötü örnek oldu . Mesela bir class düşün adı canlı olsun . Sonra bu classtan turetilmis iki class daha olsun bunlar da bitki ve hayvan olsun . Canlı sınıfındaki bir get metodu bu iki alt class ile degiştirilebilir. Bitkinin get metodu agaclari yosunları döndürse bile hayvan get i de insan ve balinaları döndürebilmektedir yani sadece işlemleri gizlemek yerine kalıtımsal farklılıklar eklemek de mümkün. Yani diğer metodlar gibi ışte .

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • gpgpu kullanıcısına yanıt
    anladım çok sağol
  • set ve get çalışıyorumda bakar mısın doğru mu anlamışım
    bu birinci class :
    public class Insan {

    private int yas;
    private String isim;


    public Insan (int alinanYas, String alinanIsim)
    {
    setYas(alinanYas);
    setIsim(alinanIsim);

    }

    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;
    }


    }


    bu da ikinci class :

    public class IlkProgram {
    public static void main(String args[])
    {

    Insan i1 = new Insan(20, " Veli");
    Insan i2 = new Insan(19, " Ayşe");

    //i1.isim="asd";
    //i1.yas= 20;
    //i2.isim ="asd";
    //i2.yas=21;


    System.out.println("İsim: " +i1.getIsim() + " ve yaş " +i1.getYas());
    System.out.println("İsim: " +i2.getIsim() + " ve yaş " +i2.getYas());


    }



    }


    şimdi sanırsam çalışma şöyle oluyor Insan class'ında int ve String ulaşmak için get ve set metodunu kullanıyoruz bu set ve get metotları şöyle kullanılıyor : (isim için) set metoduyla ismi public hale getiyoruz get metoduyla return ederek kullanılabilir hale getiryoruz daha sonra diğer class'ta getIsim yazıyoruz ki (return'lü olan) diğer classta kullanabilelim

    doğru mu anlamışım ?




  • constructor içinde setter kullanmana gerek yok, this.yas = alınan yas; demen yeterli.

    Diyelimki bir classta başka bir classın nesnesini yarattın. Örneğin;

    Person p = new Person(); şeklinde,

    bu p nesnesinin attributeları için getter ve setter kullanman gerek. Diyelimki bu personun yaşını ayarlaman gerekiyor,
    p.age = 22; değil de p.setAge(22); şeklinde yapman gerekiyor. Aynı şekilde o nesnenin yaşını alman gerekiyorsa,

    System.out.println(p.age); değil de System.out.println(p.getAge()); şeklinde çağırman gerek.



    < Bu mesaj bu kişi tarafından değiştirildi Mr.Apple -- 8 Ağustos 2016; 17:54:42 >
  • Yapay Zeka’dan İlgili Konular
    RAID Card nedir, ne işe yarar!
    17 yıl önce açıldı
    bu pandora box ne işe yarıyor ?
    18 yıl önce açıldı
    Daha Fazla Göster
  • Mr.Apple kullanıcısına yanıt
    anladım, yani set ile bir şeye eşitleyip get ile consol'a yazıyoruz
  • deniz caliskan kullanıcısına yanıt
    get sadece konsola yazmak için değil herhangi biryerde o veriye ulaşmak istersen çağırabilirsin. Tabiki konsola yazarken de kullanabilirsin
  • Encapsulation,nesneye yönelik programlamanın temellerinden biridir.

    Mesela insan diye bir sınıfın olsun ve bu sınıfta da yaş değişkeni olsun.Eğer bu değişkeni public tanımlarsan,başka sınıflarda bu sınıfın nesnesi oluşturularak yaş değişkenine istediğin değer aktarılabilir(negatif değer de olabilir ama mantığa aykırı.)

    // new People().age = -2;

    Bunun yerine yaş değişkenini private tanımlayarak doğrudan erişime kapatırsın.bunun bilgilerini getirmek veya değiştirmek içinse get-set methodlarını kullanırsın.mesela yaşı değiştirmek istiyorsun,

     
    public void setAge(int age){
    if(age<0)
    return;
    this.age=age;
    }


    get-set metodları için daha fazla bilgi için POJO,Java Bean kavramlarını araştır.
  • Chandler. kullanıcısına yanıt
    sağolsın, müsait olduğumda araştıracağım
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.