Forum: Ders Arası RSS
this'i farklı bir nesneye bağlamak
nesneler sınıflar kurucu işlev this
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: this'i farklı bir nesneye bağlamak
Örneğin bir sınıf içinde this.alan şeklinde bir alanın değerini değiştirebiliyoruz. Ama demiş ki burada this'i farklı bir nesneyi gösterecek şekilde tekrar bağladığımızda hata verir. Ama bende hata vermiyor :)
 
import std.math;
 
class Test {
    double a = 0.4;
    int b;
    this(int b) {
        this.b = b;
    }
    this() {}           // Varsayılan kurucu
                        // Tüm alanlar ilklendiriliyor
}
 
class HataVeren {
    this() {}
    void eğlence() {
        this = new HataVeren;   // Burada this'i farklı bir nesneyi
                                // gösterecek şekilde tekrar bağladığımızda
                                // hata vermesi gerekmez mi
    }
}
    
unittest {
    // new ile yeni bir nesne oluşturuyoruz
    auto t = new Test;
    auto t2 = new Test(5);
    assert(t.a == 0.4 && t2.b == 5);
    auto hatalı = new HataVeren;
    hatalı.eğlence();   
}
 
void main () {}
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben bu gibi uyumsuzluklarda kitabın doğru olduğunu kabul ediyorum. Kitap yazıldığı sırada bazı olanaklar dmd'de bulunmuyordu. Andrei, gerçekleştirilecekleri sözünü Walter'dan aldıkça kitabına ekliyordu.

İlerideki bir dmd derleyicisinde hata vereceğini düşünebiliriz.

Ali
erdem (Moderatör) #3
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Evet haklısınız sanırım. Çünkü yazmadan önce kitabın düzeltme sayfasına baktım. Bir hata olarak görünmüyordu.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-22, 05:09:57 (UTC -08:00)