⊗jsOpIhCOM 32 of 60 menu

Chamando um método sobrescrito em POO em JavaScript

Ao sobrescrever um método, o filho perde acesso ao método sobrescrito do pai. No entanto, ainda é possível acessá-lo. Isso é feito usando a palavra-chave super, que se refere à classe pai.

Vamos ver um exemplo de quando podemos precisar de acesso ao método do pai. Suponha que temos a seguinte classe pai:

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

Suponha que na classe filha sobrescrevemos o método do pai:

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

Perceba que no método sobrescrito, quando a condição é atendida, essencialmente o código do método do pai é executado. Isso resulta em uma duplicação desnecessária de código.

Podemos evitá-la chamando o método do pai. Vamos fazer isso:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // método do pai } else { throw new Error('student name error'); } } }

Dado o seguinte código:

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

Na classe Employee, corrija e simplifique o setter de idade, usando o método original do pai.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar