Pues usa tu ejemplo que tienes inicialmente, solo ajustalo para que lea las propiedades de la clase:
Código PHP:
Ver originalclass Field
{
public function validate()
{
echo "I'm validating!";
}
}
class Form
{
private $_fields = array();
public function addField(Field $field)
{
$this->_fields[] = $field;
}
public function validate()
{
foreach ($this->_fields as $field) {
$field->validate();
}
}
}
$field = new Field();
$form = new Form();
$form->addField($field);
$form->validate();
Saludos.