⊗jsOpIhCOM 32 of 60 menu

Даъват кардани методи қайтатартибдодашуда дар ООП дар JavaScript

Вақте ки методи қайтатартиб дода мешавад, фарзанд дастрасӣ ба методи қайтатартибдодашудаи волидайнро аз даст медиҳад. Аммо, боз ҳам методи волидайнро даъват кардан мумкин аст. Ин бо истифода аз калимаи калидии super анҷом дода мешавад, ки ба сinf волидайн ишора мекунад.

Биёед мисолеро дида бароем, ки вақте ба мо дастрасӣ ба методи волидайн лозим меояд. Фарз мекунем, ки мо сinf волидайни зеринро дорем:

class User { setName(name) { this.name = name; } getName() { return this.name; } }

Фарз мекунем, ки мо дар сinf фарзанд методи волидайнро қайтатартиб додем:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

Қайд кардан мумкин аст, ки дар методи қайтатартибдодашуда дар вақти иҷро шарти қулай коди методи волидайн иҷро мешавад. Натиҷа дубора кардани коди нолозим аст.

Аз ин дубора кардан метавон халос шуд, агар методи волидайнро даъват кард. Биёед инро анҷом диҳем:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // методи волидайн } else { throw new Error('student name error'); } } }

Коди зерин дода шудааст:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } else { throw new Error('need age less 120'); } } }

Дар сinf Employee ислоҳ кунед ва тарроҳии синфи синну солро содда кунед, истифода бурда методи аслии волидайн.

Тоҷикӣ
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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан