public class SayiArtırma {
       int sayi = 0;

    SayiArtırma sayiArtir() {
        sayi++;
        return this;
    }

    void sayiGoster() {
       System.out.println("Sayi: " + this.sayi);
    }

    public static void main(String[] args) { 
    SayiArtırma s = new SayiArtırma();
    s.sayiArtir().sayiArtir().sayiArtir().goster();
    }
}

Buradaki "sayiArtir()" yordamını ardarda çağırabiliyorum fakat aşağıdaki örnekte bunu gerçekleştiremiyorum.

public class SayiArtırma {
        int sayi = 0;

        int sayiArtir(){
            this.sayi++;
            return this.sayi;
        }

        void sayiGoster(){
            System.out.println("Sayı: " + sayi);
        }

        public static void main(String[] args){
            SayiArtırma s = new SayiArtırma();
            // s.sayiArtir().sayiArtir().sayiArtir().sayiGoster(); ÇALIŞMIYOR
            s.sayiArtir();
            s.sayiArtir();
            s.sayiGoster();
        }
}

Bunun sebebi, ilk örnekteki "sayiArtır()" yordamının dönüş tipinin "SayiArtırma" nesnesi olması mı? Çalışma mantığını anlatabilirseniz sevinirim.

soruldu: 25 Nis '15, 06:22

Orhun's gravatar image

Orhun
301101323
cevap kabul oranı: 50%


Galiba kendi sorumu kendim cevaplandırmış olacağım. İlk örnekteki "sayiArtir()" yordamının geri dönüş tipi bir nesne olduğu için, yeniden bu nesnenin yordamlarına ulaşabiliyoruz. Fakat ikincide "int" tipinde değer döndüğü için haliyle nesnenin yordamına ulaşma imkanımız olmuyor.

permanent link

cevaplandı: 25 Nis '15, 07:13

Orhun's gravatar image

Orhun
301101323
cevap kabul oranı: 50%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×7

Soruldu: 25 Nis '15, 06:22

Görüntüleme: 382 kez

Son güncelleme: 25 Nis '15, 07:13

powered by BitNami OSQA