⊗tsSpOpAMPrt 11 of 37 menu

Модификатор protected en TypeScript

Las propiedades y métodos privados no se heredan por las clases descendientes. Sin embargo, a veces necesitamos que una propiedad o método no esté disponible externamente, pero sí sea heredado por las clases descendientes. En este caso se debe usar el modificador protected.

Probemos en la práctica. Declaremos en nuestra clase User el método cape como protegido usando el modificador protected:

class User { protected cape(str: string) { return str[0].toUpperCase() + str.slice(1); } }

Hagamos la clase Student, que herede de la clase User:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } }

Añadamos un método que muestre el nombre:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.name; } }

Y ahora usemos el método protegido del padre dentro de un método del descendiente:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // usamos el método del padre } }

Creemos un objeto de nuestra clase:

let student: Student = new Student('john');

Usemos el método para mostrar el estudiante:

console.log(student.showName());

Pero el intento de llamar al método cape desde fuera de la clase resultará en un error:

console.log(student.cape('test')); // error

Dada la siguiente clase:

class User { protected name: string; protected surn: string; constructor(name: string, surn: string) { this.name = name; this.surn = surn; } }

Herede de esta clase la clase Employee, que agregará la propiedad protegida salary, así como los getters de todas las propiedades, tanto propias, como heredadas.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar