¿Puede proporcionar escenarios cuando heredamos de una clase, funciona por un tiempo, pero luego algo más cambia e introduce un error? me ocurrió con la siguiente situación:¿Cuándo heredar de una clase te duele más tarde?
- para implementar rectángulo-con-agujero, que heredamos de la clase Rectángulo. En el constructor, comprobamos que el agujero está dentro del rectángulo
- Más tarde alguien añade un nuevo método de cambio de tamaño para rectángulo clase. No verifican si el agujero todavía está adentro.
- Después de cambiar el tamaño, podemos tener rectángulo-con-agujeros con agujeros no dentro de los rectángulos, lo cual es un error.
¿Cuáles son los otros problemas que debería tener cuidado si elijo usar herencia de objetos en C#.
No es algo de lo que tenga cuidado en C#, es algo de lo que debe tener cuidado en cualquier lenguaje orientado a objetos. Las clases base nunca deberían * preocuparse por su progenie. – Robaticus
@Robaticus: Dije C# porque en C++ podemos heredar de múltiples clases y es más fácil meternos en problemas. En C#, podemos heredar solo de una clase. –
Todavía estoy de acuerdo con lo que dije. Esto es algo a tener en cuenta independientemente del idioma que se use. No es exclusivo de C#. – Robaticus