Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  C#, C++ dillerinde class'ın kendi instance'ini gösteren pointer. sadece class içinde kullanılabilir.
bateristt
26 Haziran 2005 13:12
2.  Örneğin;
class Grup
{
    public string Ad;
    public Grup ParentGrup;
    private ArrayList ChildGrups;

    public void AddChildGrup(Grup grup)
    {
        grup.ParentGrup = this; // bu instance grup'un üst grubudur.
        this.ChildGrups.Add(grup);
    }
}

fizikci
26 Haziran 2005 13:21
3.  Bir sınıf fonksiyonuna* yazılımcıya çaktırmadan nesnenin de parametre olarak verilmesi ve o sınıf içinde this ile erişilmesi olayı.

İlk karşılaşanların daha iyi anlamaları için bir python kodu yazalım:
#sınıf:
class rect:
     def setSize(self,x,y):
             self.x=x
             self.y=y
     def getArea(self):
             return self.x*self.y

s=rect()                    #yeni nesne oluştur
s.setSize(5,6)          #kenar uzunluklarını belirt
print s.getArea()   #alanını yazdır

"setSize()" yordamı 3 parametre alıyordu. Bunlardan ilki "self" (yani "this"in python'cası), diğerleri de dikdörtgenin ölçüleri.
"getArea()" ise 1 parametre alıyordu. O da nesnenin kendisi.
Ancak, bu fonksiyonları çağırırken ilk parametreyi vermedik. Çünkü nesnenin kendisi ile (yani "s" ile) çağırdığımızdan zaten arka planda s, "self" olarak taşınmaktaydı.

Kısaca toparlarsak:
"s.getArea()" ile "rect.getArea(s)" fonksiyon çağırımları birbiriyle aynıdırlar.
s, self olarak taşınmaktadır.

Eğer selfi yazmazsanız da static method tanımlamış olursunuz.
sertw
07 Aralık 2005 22:56
4.  this ile içinde bulunduğunuz sınıfın işaretçisini elde eder, base* ya da super* ile bu işaretçiyi base sınıfın tipinde kullanırsınız. Bu durumda base'i this'in tipine cast etmek mümkün olmalıdır. Denemedim. Mimkindir herhalde. Yani şöyle bir şey:

Triangle sınıfı Shape'den türetilsin. Triangle'ın içinde bir yerde şunu yapıyoruz:
Triangle this_is = (Triangle) base;

Bu durumda this_is ve this aynı şey olur. (Evet canım sıkılıyor.)
fizikci
04 Mayıs 2006 17:00
5.  C#'ta bir sınıfın varolan constructorlarının birinden inherit etmek suretiyle yeni bir constructor yazmak için kullanılır. Aşağıdaki gibi;
public Constructor(...) : this() {}

Örneğin;
public class Kisi
{
   public string Ad;
   public string Soyad;
   public string DogumYeri;

   public Kisi()  // default constructor
   {
   }

   public Kisi(string ad) : this() // bu ctor'ı default ctor'dan türetiyoruz
   {
      this.Ad = ad;
   }

   public Kisi(string ad, string soyad) : this(ad) // bunu başka bi ctror'dan..
   {
      this.Soyad = soyad; // ad alanı this(ad) ile set edildi zaten
   }

   public Kisi(string ad, string soyad, string dogumYeri) : this(ad, soyad)
   {
      this.DogumYeri = dogumYeri;
   }
}

Aynı mantık base keywordü için de geçerlidir. Bu durumda base class'ın constructor'ından inherit edilmiş olur.
fizikci
11 Ekim 2006 01:56 ~ 12 Ekim 2006 13:28
6.  Oracle için aynı görevi self yapar.
mennan
11 Ekim 2006 02:46
7.  python 'da da self parametresi mevcuttur.
MrOK
12 Ekim 2006 12:40
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?
» self » indexer


Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1093 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen