You could override the method in each of the inheriting classes to run the parent's validate method, and then add its own specific code.
PHP Code:
class Field {
public function validate () {
//Generic field validation, store result in $blnValidated
return $blnValidated;
}//function
}//class
class StringField extends Field {
public function validate () {
//Validate string, store result in $blnValidated
return ($blnValidated && parent::validate());
}//function
}//class
class EmailField extends StringField {
public function validate () {
//Validate email, store result in $blnValidated
return ($blnValidated && parent::validate());
}//function
}//class
$field = new EmailField();
$blnValid = $field->validate();
Probably needs a bit of work though!
Bookmarks