Al escribir f(x)
, con x
pertenecientes a varias clases (por ejemplo, A, B y C), el equipo tiene que decidir qué f
método para llamar (que a partir de la clase A, B, o C): esto se llama "búsqueda de método".
La herencia múltiple a menudo plantea problemas cuando el código evoluciona.
Imagine que ha escrito dos clases base A y B, y la clase C hereda de ambas. Todo funciona bien Unos meses más tarde, un desarrollador, que usa la clase A, y desconoce por completo las clases B y C (no las necesita), agrega un nuevo método a la clase A. Sin su conocimiento, ya existe un método con el mismo nombre en la clase B. ¿Qué sucede con los objetos de la clase C? ¿Se usará el método de A o B? En algunos idiomas, el código puede fallar, en otros puede tener un comportamiento indefinido y un error muy difícil de detectar.
Solo asegúrate de estar al tanto de los numerosos recursos de S4: http://stackoverflow.com/questions/4143611/sources-on-s4-objects-methods-and-programming-in-r –