Ver Mensaje Individual
  #6  
Antiguo 06-05-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡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.
Responder Con Cita