⊗jsOpIhPtM 37 of 60 menu

დაცული მეთოდები OOP-ში JavaScript-ში

პრივატური მეთოდები არ გამოიყენება მემკვიდრეობით და არ ჩანს კლასის გარეთ. თუმცა, ზოგჯერ საჭიროა მეთოდები, რომლებიც მემკვიდრეობით მიიღება, მაგრამ არ ჩანს კლასის გარეთ. ასეთ მეთოდებს ქვიათ დაცული (protected). JavaScript-ს, სამწუხაროდ, არ გააჩნია ასეთი მეთოდების მხარდაჭერა.

ამიტომ მე ვთავაზობ, შემოვიტანოთ გარკვეული შეთანხმება, რომელიც საშუალებას მოგვცემს შევქმნათ ასეთი მეთოდები. ჩვენ ასეთი მეთოდების სახელებს დავიწყებთ underscore-ით. პრაქტიკულად ჩვენ ვიყენებთ ძველ, საყოველთაოდ მიღებულ შეთანხმებას პრივატურ მეთოდებზე. მხოლოდ ასეთ მეთოდებს დაცულს ვუწოდებთ იმ ნიშნად, რომ ისინი მემკვიდრეობით მიიღება, მაგრამ ჩვენ არ ვიყენებთ მათ გარედან. თუმცა, ზუსტად ასე მათ იყენებდნენ ძველი შეთანხმების მიხედვით.

მოდით, დავწეროთ მშობელი კლასი დაცული მეთოდით:

class User { setName(name) { this.name = name; } getName() { return this._capeFirst(this.name); } _capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }

გამოვიყენოთ ეს დაცული მეთოდი შვილობილ კლასში:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this._capeFirst(this.surn); } }

შემდეგ კოდში გახსენით დამხმარე მეთოდი დაცულად:

class User { setName(name) { if (this.notEmpty(name)) { this.name = name; } } getName() { return this.name; } notEmpty(str) { return str.length > 0; } } class Employee extends User { setSurn(surn) { if (this.notEmpty(surn)) { this.surn = surn; } } getSurn() { return this.surn; } }
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა