{veefee}
iletişim
yazar giriş
ara
getir
javascript te class lar
javascript object-oriented c++, java, php gibi dillerden farklıdır. aslında class konseptinden ziyade, prototype konseptini temel alır. Şunu belirtmekte fayda var ki class ifadesi çoğu zaman tam olarak doğru olmadığı halde kullanılıyor. gördüğümüz class lar aslında birer nesne dir.
javascript te nesne tanımlama basitçe şöyledir;
var myobject = {
avar: 15,
amethod: function() {
alert("myobject nesnesinin bir metoduyum." + "avar: " + this.avar);
}
}
class tanımlamak ve sonrasında nesne oluşturmanız gerekmiyor. burada bir nesne initialize ediyoruz. tek bir nesne söz konusu olduğunda sorun yok. diğer programlama dillerinde yer alan anonymous function olarak ikinci bir yaklaşımı vardır. aşağıdaki örnek contructor ı olmayan bir anonymous function dır.
var myobject = new function() {
this.avar = 15;
this.amethod = function() {
alert("myobject nesnesinin bir metoduyum." + "avar: " + this.avar);
};
}
aynı tipte iki tane nesneye ihtiyaç duyuyorsak bir contructor function ve new ifadesini kullanırız. contructor ın adı oluşturulan nesnelerin tipini ifade ediyor. javascript te class yoktur, ama constructor vardır. bir fonksiyon yazarsınız ve new ifadesi ile yeni bir nesne tanımlarsınız.
// boş constructor
function myclass() {
this.avar = 15;
this.amethod = function() {
alert("myobject nesnesinin bir metoduyum.");
}
}
// class a ait bir instance oluşturuyoruz.
var a = new myclass();
// 15 yazacak.
alert(a.avar);
// ikinci instance
var b = new myclass();
shan,
26.11.2009 08:38,
#735