⊗jsOpBsInr 1 of 60 menu

JavaScript да Класслар ва Объектларга кириш

Ҳозир биз JavaScript да ООП ни ўрганиш билан шуғулланамиз. Келгила, ҳаётдан мисол келтириб, кейин уни JavaScript га кўчирамиз.

Мисол учун автомобильни оламиз. Унда гусали, ранг, кузов тури, двигатель ҳажми ва ҳоказо мавжуд. Бундан ташқари, ҳайдовчи унга буюруқлар бериши мумкин: ҳаракатланиш, тўхташ, ўнгга бурилиш, чапга бурилиш ва ҳоказо.

Автомобилларнинг умумий хусусиятлари (ҳаммасида гусали бор ва ҳаммасига буюруқ бериш мумкин)га эга бўлган маълумум класс мавжуд деб айтиш мумкин.

Кўчада турган аник бир автомобиль - бу шу класснинг vakili, ёки бошқа сўзлар билан айтганда, шу класснинг объекти. Бу класснинг барча объектларида хусусиятлар: гусалилар сони, ранг, кузов тури ва методлар: ҳаракатланиш, тўхташ, ўнгга бурилиш, чапга бурилиш мавжуд.

Бошқа сўзлар билан айтганда, класснинг ўзи - бу заводда автомобиллар ишлаб чиқариладиган чертёж. Объект эса - ўша чертёжлар асосида ясалган машинанинг ўзи.

JavaScript да класс калит сўзи class ёрдамида яратилади, ундан кейин эса бу класснинг номи келади. Келгила, Car классни яратайлик:

class Car { // бу ерда код, яъни JavaScript-чертёж автомобили }

Энди ўз чертёжимизда, ушбу чертёж асосида яратилган ҳар қандай автомобил ранг учун хусусиятга ва ёқилғи миқдори учун хусусиятга эга бўлишини кўрсатамиз.

Бунинг учун класс ичида color хусусияти ва fuel хусусиятини ёзамиз:

class Car { color; // автомобилнинг ранги fuel; // ёқилғи миқдори }

Энди бизнинг классимизнинг методларини ясайлик. JavaScript да методлар оддий функцияларга ўхшайди, фақатгина калит сўзи functionсиз эълон қилинади.

Юқорида айтиб ўтилганидек, бизнинг автомобилимиз ҳаракатлана олади, бурила олади, тўхтай олади. Уз классимизда мос келувчи методларни ясаймиз:

class Car { color; // автомобилнинг ранги fuel; // ёқилғи миқдори // Ҳаракатланиш буюруғи: go() { // қандайдир JavaScript коди } // Бурилиш буюруғи: turn() { // қандайдир JavaScript коди } // Тўхташ буюруғи: stop() { // қандайдир JavaScript коди } }

Биз сиз билан автомобилимизнинг чертёжини ясадik. Энди заводимзга бориб, шу класснинг объектини (яъни аник бир автомобилни) ясаш керак.

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();
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш