Herencia en programación orientada a objetos (OOP)
La herencia es un mecanismo en la programación orientada a objetos (OOP) que permite que una clase herede propiedades y comportamiento de otra clase. La clase de la que se hereda se llama "superclase" o "clase principal", mientras que la clase que hereda se llama "subclase" o "clase secundaria". Un heredero es una subclase que hereda propiedades y comportamiento de una superclase. En otras palabras, un heredero es una clase que hereda los atributos y métodos de otra clase. Por ejemplo, digamos que tenemos dos clases: `Car` y `SportsCar`. La clase `Car` tiene atributos como `color`, `make` y `model`, y métodos como `drive()` y `brake()`. La clase "SportsCar" hereda todos estos atributos y métodos de la clase "Car", pero también tiene algunos atributos y métodos adicionales que son específicos de los autos deportivos. Entonces, la clase "SportsCar" sería heredera de la clase "Car". La herencia nos permite reutilizar el código y evitar la duplicación. En lugar de tener que definir los mismos atributos y métodos en varias clases, podemos definirlos una vez en la superclase y hacer que todas las subclases los hereden. Esto hace que nuestro código sea más eficiente y más fácil de mantener.