Herencia en programación orientada a objetos (I)
Frente a lo que muchos pudieran pensar, la herencia no es un concepto trivial ni inmediato de comprender correctamente. Bertrand Meyer, en su libro Object-Oriented Software Construction, nos recuerda cual es el principio básico de la herencia:
“es-un”: La clase ‘B’ hereda de la clase ‘A’ si y solo si se puede argumentar siempre que para toda instancia de la clase ‘B’ se puede ver como una instancia de la clase ‘A’. Es decir, todo ‘B’ es ‘A’.
Hay que tener en cuenta que el concepto ‘es-un’, probablemente sea muy subjetivo y depende de contexto del problema a resolver. De tal forma, nos puede servir para descartar los casos negativos, es de decir, los que definitivamente no se pueden implementar como herencia al no cumplirse la regla, pero no siempre sirve para demostrar los casos positivos, es decir, que se cumpla la regla ‘es-un’ no implica que siempre sea correcto aplicar la herencia.