El valor de "a" si cambia, el problema es que lo estas "pisando" con una función que no retorna nada.
cambia esto:
Código PHP:
$this->a = $this->procesa();
echo $this->a;
por esto:
Código PHP:
$this->procesa();
echo $this->a;
Y en cuanto a lo otro, php no te obliga a declarar los atributos, los podes hacer porque te deja el lenguaje, si fuese java por ejemplo no podrias.
El problema que tiene esa forma de hacerlo es que perdes la posibilidad de declararle la visibilidad(private, protected, public).
salu2.