Ներածություն JavaScript-ի դասերի և օբյեկտների մասին

Այժմ մենք կզբաղվենք ԾՕԾ-ի ուսումնասիրությամբ JavaScript-ում: Եկեք դիտարկենք կյանքից վերցված օրինակ, ապա տեղափոխենք այն JavaScript:

Որպես օրինակ վերցնենք ավտոմեքենա: Նրան ունի անիվներ, գույն, խցիկի տեսակ, շարժիչի ծավալ և այլն: Բացի այդ, վարորդը կարող է հրամաններ տալ նրան՝ ընթանալ, կանգնել, թեքվել աջ, ձախ և այլն:

Կարելի է ասել, որ գոյություն ունի որոշակի դաս ավտոմեքենաների, որոնք ունեն ընդհանուր հատկություններ (բոլորն ունեն անիվներ և բոլորին կարելի է հրամաններ տալ):

Կոնկրետ ավտոմեքենան, որ կանգնած է փողոցում - այս դասի ներկայացուցիչն է, կամ, այլ բառերով, օբյեկտ այս դասից: Բոլոր օբյեկտները այս դասից ունեն հատկություններ: անիվների քանակ, գույն, խցիկի տեսակ և մեթոդներ: ընթանալ, կանգնել, թեքվել աջ, ձախ:

Այլ բառերով, ինքը՝ դասը, նախագիծ է, որով գործարանում պատրաստվում են ավտոմեքենաներ: Օբյեկտը դա հենց մեքենան է, պատրաստված այս նախագծով:

JavaScript-ում դասը ստեղծվում է օգտագործելով class բանալի բառը, որին հաջորդում է այդ դասի անվանումը: Եկեք ստեղծենք Car դասը:

javascriptclass Car {
  // այստեղ կոդ, այսինքն JavaScript-ով գրված ավտոմեքենայի նախագիծ
}

Նշենք այժմ մեր նախագծում, որ ցանկացած ավտոմեքենա, ստեղծված այս նախագծով, կունենա գույնի հատկություն և վառելիքի քանակի հատկություն:

Դրա համար դասի ներսում գրենք color հատկությունը և fuel հատկությունը:

javascriptclass Car {
  color; // ավտոմեքենայի գույնը
  fuel;  // վառելիքի քանակը
}

Եկեք այժմ ստեղծենք մեր դասի մեթոդները: JavaScript-ում մեթոդները նման են սովորական ֆունկցիաների, միայն հայտարարվում են առանց function բանալի բառի:

Ինչպես արդեն նշվեց վերևում, մեր ավտոմեքենան կարող է ընթանալ, կարող է թեքվել, կարող է կանգնել: Եկեք ստեղծենք համապատասխան մեթոդներ մեր դասում:

javascriptclass Car {
  color; // ավտոմեքենայի գույնը
  fuel;  // վառելիքի քանակը
  
  // Ընթանալու հրաման:
  go() {
    // ինչ-որ JavaScript կոդ
  }
  
  // Թեքվելու հրաման:
  turn() {
    // ինչ-որ JavaScript կոդ
  }
  
  // Կանգնելու հրաման:
  stop() {
    // ինչ-որ JavaScript կոդ
  }
}

Մենք ստեղծեցինք մեր ավտոմեքենայի նախագիծը: Այժմ պետք է գնալ գործարան և ստեղծել այս դասի օբյեկտը (այսինքն կոնկրետ ավտոմեքենա):

JavaScript-ում դա արվում է օգտագործելով new բանալի բառը, որից հետո գրվում է դասի անունը:

javascriptnew Car; // հրաման տալ գործարանին՝ պատրաստել ավտոմեքենա

Սակայն, եթե պարզապես ստեղծենք դասի օբյեկտ - դա ոչ մի հետևանք չի ունենա (դա նույնն է, որ, օրինակ, հայտարարել զանգված և այն ոչ մի տեղ չգրել): Մեզ անհրաժեշտ է փոփոխական այս օբյեկտը պահելու համար:

Թող այս փոփոխականը կոչվի myCar - գրենք դրա մեջ մեր ստեղծած օբյեկտը:

javascriptlet myCar = new Car;

Ավտոմեքենայի ստեղծումից հետո կարելի է դիմել նրա հատկություններին: Դիմումը նրանց կատարվում է կետի միջոցով: Եկեք սահմանենք մեր օբյեկտի հատկությունները:

javascriptlet myCar = new Car; // հրաման տալ գործարանին՝ պատրաստել ավտոմեքենա

myCar.color = 'red'; // ներկել կարմիր գույնով
myCar.fuel = 50;     // լցնել վառելիք

Վերջ, մեր ավտոմեքենան ստեղծված է, ներկված և վառելիքով լցված: Այժմ մենք կարող ենք հրամաններ տալ նրան այս ավտոմեքենայի մեթոդների միջոցով:

Դիմումը մեթոդներին նույնպես կատարվում է կետի միջոցով, բայց, ի տարբերություն հատկության, մեթոդի անունից հետո գրվում են կլոր փակագծեր: Եկեք հրամաններ տանք մեր օբյեկտին:

javascriptmyCar.go();
myCar.turn();
myCar.stop();