⊗jsOpIhCOM 32 of 60 menu

Memanggil Kaedah Terlebih Dahulu dalam OOP di JavaScript

Apabila menindih kaedah, kelas anak akan kehilangan akses kepada kaedah induk yang telah ditindih. Walau bagaimanapun, akses kepadanya masih boleh diperolehi. Ini dilakukan dengan menggunakan kata kunci super, yang merujuk kepada kelas induk.

Mari kita lihat contoh di mana kita mungkin memerlukan akses kepada kaedah induk. Katakan kita mempunyai kelas induk berikut:

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

Katakan kita dalam kelas anak menindih kaedah induk:

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

Boleh diperhatikan bahawa dalam kaedah yang ditindih, jika syarat dipenuhi, kod yang dilaksanakan sebenarnya adalah kod kaedah induk. Ini mengakibatkan penduaan kod yang tidak diperlukan.

Kita boleh menghapuskan penduaan ini dengan memanggil kaedah induk. Mari lakukan ini:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // kaedah induk } else { throw new Error('student name error'); } } }

Diberi kod berikut:

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'); } } }

Dalam kelas Employee, betulkan dan permudahkan penetap umur (setter) dengan menggunakan kaedah induk asal.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak