¿Más abstracto? Bueno, puedes usar TComponent -como, de hecho, lo hace adonias. Más no puedes porque el constructor de TObject no es virtual.
Pero, lo que debes preguntarte es, ¿qué ganas con eso?
Si tienes una aplicación que requiere crear formularios que no conoce de antemano, el poder hacerlo a partir de TForm, o incluso a partir de algún TBaseForm que sea más específico a tu aplicación, es algo sumamente poderoso.
El "preconocimiento" que mencionas sólo se refiere a que se trata de un formulario, pero no requiere saber qué formulario en específico es. Es la potencia del polimorfismo.
Y esto es así en cualquier lenguaje OOP. De hecho, no todos los lenguajes las clases tienen un ancestro común como el TObject de Delphi.
// Saludos
|