İçeriğe atla

JavaScript/Nesneler

Vikikitap, özgür kütüphane

JavaScript'in nesne yönelimli programlama desteği vardır.

Var olan nesneleri kullanma

[değiştir]
document.write("deneme");
var dizi=[1,2,3];
document.write(dizi.length);

Birincisinde document nesnesinin statik write() metoduyla ekrana deneme yazdık. İkincisinde ise Array nesnesinin statik olmayan length özelliğiyle ilgili dizinin eleman sayısını aldık. Bir metot veya özellik herhangi bir nesne türünden değer döndürebilir. Metotlar, bir nesneyle ilişkilendirilmiş fonksiyonlardan başka bir şey değildir. Özellikler ise yine bir nesneyle ilişkilendirilmiş değişkenlerdir.

JavaScript'te tanımladığımız her dizi aslında Array türünden bir nesnedir.

Yeni nesne tanımlama

[değiştir]

JavaScript'te yeni nesne tanımı farklı şekillerde yapılabilir:

insan=new Object(); //yeni nesne oluşturuyoruz.
insan.isim="ahmet"; //nesnemizin isim özelliğine ahmet değerini veriyoruz.
insan.soyad="yılmaz"; //nesnemizin soyad özelliğine yılmaz değerini veriyoruz.
insan.gozRengi="mavi"; //nesnemizin gozRengi özelliğine mavi değerini veriyoruz.
insan.yas=56; //nesnemizin yas özelliğine 56 değerini veriyoruz.
insan.konus=konus; //nesnemize konus metodunu bağlıyoruz.
function konus() //konus metodunu yazıyoruz.
{
    document.write("benim adım "+this.isim);
}

veya

insan={isim:"ahmet",soyad:"yılmaz",gozRengi:"mavi",yas:56}; /*nesnemizin tüm özelliklerini
                                                             ve bu özelliklerin değerlerini
                                                             tek satırda belirtiyoruz.*/
insan.konus=konus; //nesnemize konus metodunu bağlıyoruz.
function konus() //konus metodunu yazıyoruz.
{
    document.write("benim adım "+this.isim);
}

Yukarıdaki yöntemlerden herhangi biriyle oluşturduğumuz nesneyi aşağıdaki gibi kullanabiliriz:

insan.isim="esra"; //nesnemizin isim özelliğinin değerini değiştiriyoruz.
insan.konus(); //nesnemizin konus() metodunu çağırıyoruz.

Yeni nesne kalıbı tanımlama

[değiştir]
function insan(isim,soyad,yas,gozRengi)
{
    this.isim=isim;
    this.soyad=soyad;
    this.yas=yas;
    this.gozRengi=gozRengi;
    this.konus=konus;
}
function konus()
{
    document.write("benim adım "+this.isim);
}

Şimdi bu nesne kalıbını kullanarak yeni nesne oluşturalım:

var ayse=new insan();
ayse.isim="ayşe";
ayse.soyad="yılmaz";
ayse.yas=15;
ayse.gozRengi="mavi";
ayse.konus();

Yapıcı metot kullanarak da nesnemizi oluşturabiliriz:

var hakan=new insan("hakan","yılmaz",34,"ela");
hakan.konus();