Ներածություն JavaScript-ի դասերի և օբյեկտների մասին
Այժմ մենք կզբաղվենք ԾՕԾ-ի ուսումնասիրությամբ JavaScript-ում: Եկեք դիտարկենք կյանքից վերցված օրինակ, ապա տեղափոխենք այն JavaScript:
Որպես օրինակ վերցնենք ավտոմեքենա: Նրան ունի անիվներ, գույն, խցիկի տեսակ, շարժիչի ծավալ և այլն: Բացի այդ, վարորդը կարող է հրամաններ տալ նրան՝ ընթանալ, կանգնել, թեքվել աջ, ձախ և այլն:
Կարելի է ասել, որ գոյություն ունի որոշակի դաս ավտոմեքենաների, որոնք ունեն ընդհանուր հատկություններ (բոլորն ունեն անիվներ և բոլորին կարելի է հրամաններ տալ):
Կոնկրետ ավտոմեքենան, որ կանգնած է փողոցում - այս դասի ներկայացուցիչն է, կամ, այլ բառերով, օբյեկտ այս դասից: Բոլոր օբյեկտները այս դասից ունեն հատկություններ: անիվների քանակ, գույն, խցիկի տեսակ և մեթոդներ: ընթանալ, կանգնել, թեքվել աջ, ձախ:
Այլ բառերով, ինքը՝ դասը, նախագիծ է, որով գործարանում պատրաստվում են ավտոմեքենաներ: Օբյեկտը դա հենց մեքենան է, պատրաստված այս նախագծով:
JavaScript-ում դասը ստեղծվում է օգտագործելով class
բանալի բառը, որին հաջորդում է այդ դասի անվանումը:
Եկեք ստեղծենք Car դասը:
class Car {
// այստեղ կոդ, այսինքն JavaScript-ով գրված ավտոմեքենայի նախագիծ
}
Նշենք այժմ մեր նախագծում, որ ցանկացած ավտոմեքենա, ստեղծված այս նախագծով, կունենա գույնի հատկություն և վառելիքի քանակի հատկություն:
Դրա համար դասի ներսում գրենք color
հատկությունը և fuel հատկությունը:
class Car {
color; // ավտոմեքենայի գույնը
fuel; // վառելիքի քանակը
}
Եկեք այժմ ստեղծենք մեր դասի մեթոդները:
JavaScript-ում մեթոդները նման են սովորական ֆունկցիաների,
միայն հայտարարվում են առանց function բանալի բառի:
Ինչպես արդեն նշվեց վերևում, մեր ավտոմեքենան կարող է ընթանալ, կարող է թեքվել, կարող է կանգնել: Եկեք ստեղծենք համապատասխան մեթոդներ մեր դասում:
class Car {
color; // ավտոմեքենայի գույնը
fuel; // վառելիքի քանակը
// Ընթանալու հրաման:
go() {
// ինչ-որ JavaScript կոդ
}
// Թեքվելու հրաման:
turn() {
// ինչ-որ JavaScript կոդ
}
// Կանգնելու հրաման:
stop() {
// ինչ-որ JavaScript կոդ
}
}
Մենք ստեղծեցինք մեր ավտոմեքենայի նախագիծը: Այժմ պետք է գնալ գործարան և ստեղծել այս դասի օբյեկտը (այսինքն կոնկրետ ավտոմեքենա):
JavaScript-ում դա արվում է օգտագործելով new
բանալի բառը, որից հետո գրվում է դասի անունը:
new Car; // հրաման տալ գործարանին՝ պատրաստել ավտոմեքենա
Սակայն, եթե պարզապես ստեղծենք դասի օբյեկտ - դա ոչ մի հետևանք չի ունենա (դա նույնն է, որ, օրինակ, հայտարարել զանգված և այն ոչ մի տեղ չգրել): Մեզ անհրաժեշտ է փոփոխական այս օբյեկտը պահելու համար:
Թող այս փոփոխականը կոչվի myCar
- գրենք դրա մեջ մեր ստեղծած օբյեկտը:
let myCar = new Car;
Ավտոմեքենայի ստեղծումից հետո կարելի է դիմել նրա հատկություններին: Դիմումը նրանց կատարվում է կետի միջոցով: Եկեք սահմանենք մեր օբյեկտի հատկությունները:
let myCar = new Car; // հրաման տալ գործարանին՝ պատրաստել ավտոմեքենա
myCar.color = 'red'; // ներկել կարմիր գույնով
myCar.fuel = 50; // լցնել վառելիք
Վերջ, մեր ավտոմեքենան ստեղծված է, ներկված և վառելիքով լցված: Այժմ մենք կարող ենք հրամաններ տալ նրան այս ավտոմեքենայի մեթոդների միջոցով:
Դիմումը մեթոդներին նույնպես կատարվում է կետի միջոցով, բայց, ի տարբերություն հատկության, մեթոդի անունից հետո գրվում են կլոր փակագծեր: Եկեք հրամաններ տանք մեր օբյեկտին:
myCar.go();
myCar.turn();
myCar.stop();