La herencia es un pilar importante de los lenguajes de programación orientados a objetos y la herencia se utiliza para crear una nueva clase a partir de la existente. La clase recién creada se conoce como clase Derivada y la clase de la que se heredó la clase derivada se conoce como clase Base. Una clase derivada heredada adquiere las propiedades y comportamientos de la clase base. TypeScript admite herencia única y herencia multinivel. No podemos implementar herencias híbridas y múltiples usando TypeScript. La herencia usa herencia basada en clases y se puede implementar usando palabras clave extendidas en TypeScript. En este artículo, veremos cómo se implementa la herencia en TypeScript.
Sintaxis:
class baseClassName { } class derivedClassName extends baseClassName { }
Herencia única en TypeScript: en la herencia única, las propiedades y el comportamiento de la clase base se pueden heredar como máximo en una clase derivada. Solía agregar nueva funcionalidad a la clase ya implementada.
Ejemplo: En este ejemplo, estamos creando una Persona como clase base y usando herencia única implementando Profesor como una clase Derivada.
Javascript
// Base class class Person { Name: string; constructor(name: string) { this.Name = name; } } // Deriving Teacher class class Teacher extends Person { Payment: number; constructor(name: string, payment: number) { super(name); this.Payment = payment; } display(): void { console.log("Teacher's Name: " + this.Name); console.log("Teacher's Payment " + this.Payment); } } // Create Object let obj = new Teacher("GeeksforGeeks", 8500000); obj.display();
Producción:
Teacher's Name: GeeksforGeeks Teacher's Payment 8500000
2. Herencia multinivel:
En la herencia multinivel, la clase derivada actúa como clase base para otra clase derivada. La clase derivada recién creada adquiere las propiedades y el comportamiento de otras clases base.
Ejemplo: en este ejemplo, estamos creando un vehículo como clase base y un automóvil como una subclase que deriva de la nueva clase llamada modelo de automóvil y la clase modelo de automóvil adquiere todas las características del vehículo y la clase de automóvil.
Javascript
// Base class class Vehicle { Type(): void { console.log("Car"); } } // Inherites from Vehicle class Car extends Vehicle { Brand(): void { console.log("ABC"); } } // Inherites all properties of // Vehicle and Car class class carModel extends Car { Model(): void { console.log("ABC2021"); } } // Object creation let obj = new carModel(); obj.Type(); obj.Brand(); obj.Model();
Producción:
Car ABC ABC2021
Publicación traducida automáticamente
Artículo escrito por abhijitmahajan772 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA