⊗jsOpIhPtM 37 of 60 menu

Metodat e Mbrojtura në OOP në JavaScript

Metodat private nuk trashëgohen dhe nuk duhen jashtë klasës. Ndonjëherë, megjithatë, nevojiten metoda që trashëgohen, por nuk duhen jashtë klasës. Metoda të tilla quhen të mbrojtura (protected). JavaScript, për fat të keq, nuk i suporton metoda të tilla.

Prandaj unë propozoj të prezantojmë një marrëveshje që lejon krijimin e metodave të tilla. Do t'i fillojmë emrat e metodave të tilla me një nënvizim. Në fakt ne do të përdorim marrëveshjen e vjetër të përgjithshme për metodat private. Vetëm do t'i quajmë metodat e tilla të mbrojtura për të treguar se ato trashëgohen, por ne nuk do t'i përdorim ato jashtë. Sidoqoftë, kjo është mënyra se si ato përdoren sipas marrëveshjes së vjetër.

Pra, le të shkruajmë një klasë prind me një metodë të mbrojtur:

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

Le të përdorim këtë metodë të mbrojtur në një klasë të pasardhëse:

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

Në kodin vijues, bëni metodën ndihmëse të mbrojtur:

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; } }
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo