0
0
Xoş gəldin, Qonaq
Master Forum | Arxiv Mövzular | Arxiv 1
  JavaScript-də Obyekt Anlayışı
ELSTUDIO ELSTUDIO [Off] [#] (15.07.2016 / 12:19)
Obyekt, mürəkkəb verilən tipidir. Obyektin tərkibinə dəyişən çoxluğu - xassə və bu dəyişənlər üzərində manipulyasiya etmək üçün funksiya çoxluğu - metod daxildir. Xassə verilən saxlayır, metod isə onları emal edir. Bu şəkildə obyektə proqramın digər fraqmentlərindən asılı olmayaraq, ayrıca baxmaq olar.

Obyektə nümunə kimi, HTML sənədə baxaq. O, xassələr çoxluğuna malikdir: internet-ünvan, ölçü, simvol kodlaşdırılması və s. Bəzi xassələrini dəyişə bilərsiniz, bəzilərini isə yox. O, həmçinin metodlar çoxluğuna da malikdir: Web browser pəncərəsində göstərmək, disk üzərində saxlamaq, çap etmək və s. Belə bir analogiya vermək də olar: xassə - obyektin atributu, metod - idarəetmə vasitəsi.

Obyekt digər verilənlərin tiplərindən əlavə olaraq bir də onunla fərqlənir ki, onun istifadəsi üçün uyğun obyekt sinfinin nüsxəsini yaratmaq lazımdır. Bu zaman sinif dəyişən tiplərinə oxşar olaraq obyekt tipinin nümunəsidir, nüsxə isə onunla işləyə biləcəyiniz konkret obyektdir. Nüsxə obyekt "new" operatoru vasitəsilə yaradılır. Bu zaman obyektə istinad dəyişənə mənimsədilir. İstinad (və ya göstərici) yaddaşda bir yerə nişanlanır, hansı ki, yaradılan nüsxə obyekt saxlanılır. Dəyişəndə saxlanılan bu göstərici ilə obyektə müraciət edə bilərik.


  1. var obj;
  2. obj = new SomeObject();



Burada obj dəyişəndir, hansı ki, yaradılmış obyektə istinad edən göstərici mənimsədilib, SomeObject isə, obyekti yaradan sinifdir.
Obyekti isifadə edib qurtardıqdan sonra, onu silmək olar. Bunun üçün "delete" operatorundan istifadə edilir.

  1. delete obj;



Qeyd: "delete" operatoru yalnız Internet Explorer 6.0 və Navigator 4.0 versiyalarından başlayaraq dəstəklənir. Internet Explorer 5 və Navigator 3.0 versiyalarında dəyişənə null qiymətini mənimsədərək, obyekti silə bilərsiniz. Navigatorun çox köhnə versiyaları obyekti silməyi ümumiyyətlə dəstəkləmir.

Yaxşı, biz obyekt yaratdıq və onun xassə və metodlarına müraciət etmək istəyirik. Bunu necə etməliyik? Çox sadə. Aşağıdakı çağırma formatından istifadə edərək, xassələrə müraciət edə bilərsiniz:
{Obyektə istinad edən dəyişənin adı}.{Xassənin adı}

Bu şəkildə xassəyə müraciət etmək dəyişənə müraciət etmək kimidir, fərq yalnız ondan ibarətdir ki, burada dəyişənin - xassənin əvvəlinə obyekti göstərən dəyişənin adını və nöqtə işarəsini qoymaq lazımdır.


  1. obj.SomeProperty = 9;
  2. encoding = HTMLDocument.CodePage;



Metod da oxşar şəkildə çağırılır:
{Obyektə istinad edən dəyişənin adı}.{Metodun adı}([{Parametrlər}])

Yəni demək olar ki, adi funksiya kimi çağırılır, istisna olaraq, obyektin adını (obyektin adı - obyektə istinad edən dəyişənin adı mənasındadır) yazmaq lazımdır.



  1. void HTMLDocument.SaveToDisk('somefile.htm');



Obyekt massivin elementinə mənimsədilə və funksiyaya göndərilə bilər. Bu zaman funksiyanın gövdəsində onun xassələrini dəyişməyə və metodunu çağırmağa icazə verilir.
Obyekt həmçinin obyekt tipində xassəyə malik ola bilər, yəni xassə daxili obyekt adlandırılan obyektə göstərici saxlaya bilər. Analoji qaydada daxili obyektin xassə və metodlarına müraciətə icazə verilir:


  1. encoding = someObject.internalObject1.property1;
  2. v = someObject.internalObject1.method1;




Koddan göründüyü kimi, əvvəlcə obyektin adı, sonra daxili obyektin adı, daha sonra isə, daxili obyektin xassəsinin və ya metodunun adı göstərilib.
Yeri gəlmişkən, obyektin özü bu şəkildə yaradılır:


  1. obj = new SomeObject();



O, funksiya çağırılmışına çox oxşayır, elə deyilmi? Bu da öz növbəsində funksiyadır, konstruktor adlanan obyektin xüsusi metodudur. Bu metod digərlərindən onunla fərqlənir ki, bu metod obyekt yaradılarkən çağırılır və onun xassələrinin ilkin qiymətlərini verir. Konstruktorun adı həmişə sinifin (class) adı ilə eyni olur.
Konstruktor parametr ala bilər.


  1. obj2 = new SomeObject2(param1, param2, x + y, 3);



Konstruktorsuz yaradılan obyektlər də mövcuddur. Onlar inisiallaşdırıcı vasitəsilə yaradılır:


obj3 = new SomeObject3(prop1: param1, prop2: param2, prop3: x + y, prop4: 3);


Yəni bu cür obyekt yaradarkən, biz onun xassələrini qiymətlərlə doldururuq.

Qeyd: İnisiallaşdırıcı Internet Explorer və Navigator browserlərində 3.0 versiyalarından başlayaraq dəstəklənir. Navigatorun (JavaScript-i Internet Explorer 3.0 versiyasından başlayaraq dəstəkləyir) daha əvvəlki versiyalarında, siz obyekti yalnız konstruktor vasitəsilə yarada bilərsiniz.

JavaScript-də olan bütün mümkün obyektlər daxili və istifadəçi yaradan olmaqla iki qrupa bölünür. Daxili siniflərə misal olaraq Array, Boolean, Date, Function, Math və s. misal göstərmək olar. Daxili siniflər burada araşdırılmayacaq.
typeof operatoru obyekt dəyişəni üçün "object" sətirini qaytarır.
  JavaScript-də Obyekt Anlayışı
Cəmi: 1 Cavab
Mövzunu vip et
Mövzuya Baxanlar (31 nəfər)
Müellife göre filtreleme
Mövzunu Yükle

JavaScript-də Obyekt Anlayışı

JavaScript-də Obyekt Anlayışı

Rol.Az