Herança em Programação Orientada a Objetos (OOP)
Herança é um mecanismo de programação orientada a objetos (OOP) que permite que uma classe herde propriedades e comportamento de outra classe. A classe da qual está sendo herdada é chamada de "superclasse" ou "classe pai", enquanto a classe que está fazendo a herança é chamada de "subclasse" ou "classe filha".
Um herdeiro é uma subclasse que herda propriedades e comportamento de uma superclasse. Em outras palavras, um herdeiro é uma classe que herda os atributos e métodos de outra classe.
Por exemplo, digamos que temos duas classes: `Car` e `SportsCar`. A classe `Car` possui atributos como `color`, `make` e `model`, e métodos como `drive()` e `brake()`. A classe `SportsCar` herda todos esses atributos e métodos da classe `Car`, mas também possui alguns atributos e métodos adicionais que são específicos para carros esportivos. Portanto, a classe `SportsCar` seria uma herdeira da classe `Car`.
A herança nos permite reutilizar código e evitar duplicação. Em vez de ter que definir os mesmos atributos e métodos em múltiplas classes, podemos defini-los uma vez na superclasse e fazer com que todas as subclasses os herdem. Isso torna nosso código mais eficiente e fácil de manter.