Respecto a lo primero te digo, al contaminar la clase con cosas que no deberían de pertenecer a esa clase rompes con un diseño más puro de tu clase, es por eso que te decía que lo que debes de hacer es solo "adjuntar" los métodos al formulario.
Respecto a tu segunda duda es algo sencillo:
Código PHP:
Ver originalclass CForm {
public function __construct()
{
// cosas para la construccion
$this->init();
}
public function init()
{
// aqui es donde puedes heredar e iniciar tu forma
}
}
class MiFormulario extends cForm
{
public function init()
{
$this->addElement(new cText('blah'));
$this->addElement(new cTextarea('blah2'));
}
}
$form = new MiFormulario();
Saludos.