⊗jsOpIhCOM 32 of 60 menu

Memanggil Metode yang Dioverride dalam OOP di JavaScript

Saat melakukan override, turunan kehilangan akses ke metode induk yang dioverride. Namun, akses ke metode tersebut tetap bisa didapatkan. Hal ini dilakukan dengan kata kunci super, yang merujuk ke kelas induk.

Mari kita lihat contoh kapan kita mungkin memerlukan akses ke metode induk. Misalkan kita memiliki kelas induk berikut:

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

Misalkan kita di kelas turunan mengoverride metode induk:

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

Dapat diperhatikan, bahwa dalam metode yang dioverride saat kondisi terpenuhi, pada dasarnya kode metode induk yang dijalankan. Terjadi duplikasi kode yang tidak perlu.

Kita dapat menghilangkannya dengan memanggil metode induk. Mari kita lakukan:

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

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

Di kelas Employee, perbaiki dan sederhanakan setter usia dengan menggunakan metode asli induk.

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