İstifadəçi Sinifi: Yaradılma - Javascript <!-- %IFTH1%0% -->- Komputer bilgiləri<!-- %IFEN1%0% --> - Ana səhifə | AzNetin ən yaxşı əyləncə saytı - Xəzər-Lənkəran
www.fanxezer.tk-ya xoş gəlmisiniz! Cümə, 2016-12-09, 8:20 PM
AzNetin ən yaxşı əyləncə saytı
       
Menyu

Bolmə
HTML [6]
Delphi [2]
PHP [5]
Javascript [4]
İnternet [3]
ASP [0]
Photoshop [3]
Power point [3]
Excel [3]
CSS [3]
Word [3]

Mini çat


Sorğu
Saytımızın dizaynı xoşunuza gəlirmi?
Cəmi səs sayı: 520

 
Statistika

Hal-hazırda saytda: 1
Qonaqlar: 1
İstifadəçilər: 0

  


Əsas » Fayllar » Komputer bilgiləri » Javascript

İstifadəçi Sinifi: Yaradılma
[ ] 2009-10-13, 7:25 PM

İstifadəçi Sinifi: Yaradılma

   Bəzən JavaScript-in tərkibində olan Class-ların (siniflərin) imkanları məsələlərin həlli üçün kifayət etmir. Bu zaman istifadəçi öz class-larının yaradır.
   İstifadəçi class-ını yaratmaq üçün nə etmək lazımdır? O qədər çox nə isə tələb olunmur. Əgər class konstruktora malik deyilsə, onda onun nüsxəsini sadəcə inisiallaşdırıcı istifadə etməklə new operatoru ilə yaratmaq lazımdır.
var somePoint;
somePoint = new SomePoint(x: 100, y: 50, color: “black”);
   Hamısı bu qədər. Bu şəkildə biz bir qrafiki nöqtəni göstərən, koordinat və rəng xassələri olan obyekt yaratdıq. Artıq indi biz onu istifadə edə bilərik.
somePoint.y = somePoint.x / 2 + 20;
Hətta yaradılmış bu obyektə xassə əlavə etmək mümkündür.
somePoint.radius = 0.5;
   Lakin biz öz sinifimizi yaratmadıq. Öz sinifimizi həqiqətən yaratmaq üçün konstruktor təyin etmək lazımdır.
   Əvvəlcədən bildiyimiz kimi konstruktor sinif üçün xassə təyin edir və onlara susmaya görə (default) qiymət verir. (Susmaya görə qiymət proqram kodunda sərt olaraq təyin oluna bilər və ya konstruktora parametr kimi verilə bilər.) Həmçinin konstruktor sinfə metod təyin edir (əlavə edir).
   Gəlin qrafiki nöqtə sinfini yaradaq. Bunun üçün aşağıdakı konstruktoru yazaq.
function Point(x, y, color)
{
this.x = x;
this.y = y;
this.color = color;
}
   Biz cari obyektə istinad etmək (müraciət etmək) üçün yeni this operatorundan etdik. Bu operatoru yaddan çıxarmayın – o bizə çox lazım olacaq.
İndi biz Point sinfindən obyekt yarada bilərik.
var somePoint;
somePoint = new Point(100, 50, “black”);
   Gəlin yenicə yaradılmış Point sinfinə metod əlavə edək. Yadda saxlayın ki, dəyişən funksiyaya göstərici saxlaya bilər. Bu dəyişən sinfin xassəsi də ola bilər.
   Əvvəlcə funksiya təyin edək. Bu metod koordinatların müəyyən aralıqda olub olmadığını yoxlayır və buna uyğun olaraq true və ya false cavabını qaytarır.
function isPointInBounds()
{
if(this.x>0 && this.x<400)
{
return (this.y>0 && this.y<200);
}
else
{
return false;
}
}
Yuxarıda elan etdiyimiz Point sinifini yenidən təyin edək.
function Point(x, y, color)
{
this.x = x;
this.y = y;
this.color = color;
this.isPointInBounds = isPointInBounds;
}
   Sonuncu sətirdə biz isPointInBounds xassəsinə isPointInBounds funksiyasına olan göstərici mənimsədirik. İndi biz bu xassəni isPointInBounds funksiyasını çağırmaq üçün istifadə edə bilərik. Faktiki olaraq bu funksiya obyektin bir hissəsi olur, yəni metodu.
if(somePoint.isPointInBounds())
{
...
}
   Əgər istifadəçi xassələrə mənimsətmək üçün lazım olan parametrləri konstruktora verməyibsə, bu zaman xassə üçün susmaya görə olan qiymətdən istifadə etmək olar. Bunu etmək üçün || (məntiqi və ya) operatorunun xüsusi formasından istifadə olunur.
function Point(x, y, color)
{
this.x = x || 100;
this.y = y || 50;
this.color = color || “black”;
this.isPointInBounds = isPointInBounds;
}
   Əgər || operatorundan sol tərəfdə olan arqument təyin olunubsa, o qaytarılır. Əks halda || operatorundan sağ tərəfdə olan arqument qaytarılır, bizim halda susmaya görə qiymət. Buradan belə çıxır ki, biz obyekti aşağıdakı şəkildə yarada bilərik:
somePoint = new Point();
   İndi biraz əvvələ qayıdaq. İnisiallaşdırıcı ilə yaradılmış obyektə yeni xassə əlavə etdiyimizi yada salın. Biz eyni hərəkəti konstruktor ilə yaradılmış somePoint obyekti üçün də edə bilərik.
somePoint.radius = 0.5;
   Amma burada qeyd etmək lazımdır ki, əlavə etdiyimiz xassə yalnız somePoint obyektinə məxsus olur, digər Point sinfindən olan obyektlərdə bu xassə olmur. Bəs bu xassənin Point sinfində olan bütün obyektlərdə olmasını necə təmin etmək olar.
Bölmə: Javascript | Müəllif: FanXezer | Açar sözlər: Javascript derslik
Baxış sayı: 332 | Yükləmələr: 0 | Reytinq: 5.0/1 |
Cəmi şərhlər: 0

Adınız *:
Email:
Təhlükəsizlik kodu *:
Giriş

Axtar

Arxiv


Müalicə pulunuz bir stəkan süd ilə ödənilmişdir

17 Noyabr-Dirçəliş günü

Içki və içki içənlər barədə ayə və hədislər!

Lətifələr

Süleyman peyğəmbər və qarışqa hekayəsi

Ağ çörəyin təhlükəsi

Eyfel qülləsi haqqında

Tək Səbir - Toy Klipi


Dost saytlar
  • Xəzər-Lənkəranan fanat saytı
  • Internetin ən gizli saytı
  • İslam, Haqq Din

  • Namaz vaxtları


    Reklam


    Məlumatlar
    IP adresiniz -54.163.166.22

    Nikiniz - Qonaq

    Statusunuz: Guests

    Ad gununuz -

    Bu gun ad gunu olanlar:

    Qeydiyyat tarixiniz:

    Sizin brauzeriniz:  

    Admin: FanXezer

    Hava haqqında

    Copyright Hazırladı:FanXezer © 2016
    Free web hostinguCoz -->