⊗jsOpIhCn 33 of 60 menu

Construtor na herança em OOP em JavaScript

Na herança, você pode sobrescrever o construtor da classe pai. Vamos ver com um exemplo. Suponha que temos a seguinte classe pai:

class User { constructor(name, surn) { this.name = name; this.surn = surn; } getName() { return this.name; } getSurn() { return this.surn; } }

Suponha que a seguinte classe herda da classe pai:

class Student extends User { }

Suponha que queremos no construtor da classe filha estender o construtor, adicionando parâmetros adicionais a ele:

class Student extends User { constructor(name, surn, year) { } }

Neste caso, precisamos obrigatoriamente chamar o construtor da classe pai usando super na primeira linha:

class Student extends User { constructor(name, surn, year) { super(); } }

O comando super é essencialmente o construtor da classe pai. Portanto, vamos passar os parâmetros necessários para ele:

class Student extends User { constructor(name, surn, year) { super(name, surn); } }

Agora, na classe filha, vamos registrar o ano de estudo em sua própria propriedade:

class Student extends User { constructor(name, surn, year) { super(name, surn); this.year = year; } }

Vamos criar um getter para o ano de estudo:

class Student extends User { constructor(name, surn, year) { super(name, surn); this.year = year; } getYear() { return this.year; } }

Suponha que a classe Employee herda da classe User desta lição.

Sobrescreva o construtor da classe pai em Employee, adicionando parâmetros de idade e salário.

Crie getters para a idade e para o salário.

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