¡Hola a todos!
Cita:
Empezado por roman
...la idea original, si te he entendido, es:
Agregar funcionalidad común a las clases B y C sin repetir código. De cualquier forma, agregar funcionalidad significa derivar una nueva clase. Así que de cualquier manera estaríamos hablando de crear clases B' y C' descendientes de B y C. Pero en tal caso podríamos crear A1 descendiente de A y luego B' descendiente de A1 y B y C' descendiente de A1 y C. ¡Ah! Pero Delphi no tiene herencia múltiple. Bueno, entonces, ¿no sería eso, la herencia múltiple, lo que habría que pedir?...
|
Si, indudablemente creo que la herencia múltiple sería muy útil en Object Pascal. No obstante, bajo ese esquema se tendrían que definir tres nuevas clases —A1, B' y C'— (y otras más cuando aparecen nuevas clases prospectos de esa misma ampliación), mientras que con herencia insertada, y para resolver el mismo problema, es necesario definir una sola clase nada más. Y no sólo se trata de agregar nuevos campos, propiedades o métodos, sino también de poder redefinir el comportamiento de algún método virtual desde un punto central que repercuta en varias (selectivamente) o todas las clases que descienden de alguna clase en especial.
Haciendo a un lado las posturas conservadoras (acción esencial en el avance de toda tecnología), es imposible negar que sería muy padre (chévere, agradable) poder añadir sin complicaciones una propiedad
NivelSeguridad a todos los TEdit, TMemo, y TComboBox que agregamos a una forma la semana pasada; o hacer que todo botón oprimido, sea de clase TButton, TcxButton, etc., registre en una bitácora la fecha y hora de su accionar; o redefinir el método virtual TDataSet.SetActive para llevar un conteo de aperturas en todos los conjuntos de datos que en adelante agreguemos a nuestra aplicación, sean de clase TClientDataSet, TADOQuery, TIBTable, o de alguna otra clase de componente
data set que posiblemente aún no tengamos y bajaremos de Internet en unos días.
Esta sana discusión se torna interesante. Gracias por seguir externando tus valiosas opiniones Román. Me gustaría invitar a Antonio Castillo, Federico (DCA) y a todos los demás programadores Delphi a compartir sus puntos de vista.
Un abrazo chévere.
Al González.