Thursday, May 12, 2011

Class Abstraction

more info.. http://evergreenphp.blogspot.com

Class Abstraction
PHP 5 introduces abstract classes and methods. It is not allowed to create an instance of a class that has
been defined as abstract. Any class that contains at least one abstract method must also be abstract.
Methods defined as abstract simply declare the method's signature they cannot define the
implementation.
When inheriting from an abstract class, all methods marked abstract in the parent's class declaration
must be defined by the child; additionally, these methods must be defined with the same (or a less
restricted)vis ibil ity. For example, if the abstract method is defined as protected, the function
implementation must be defined as either protected or public, but not private.
getValue() ."\n";
}
}classConcreteClass1 extendsAbstractClass
{
protected functiongetValue() {
return"ConcreteClass1";
}public functionprefixValue($prefix) {
return"{$prefix}ConcreteClass1";
}
}classConcreteClass2 extendsAbstractClass
{
public functiongetValue() {
return"ConcreteClass2";
}public functionprefixValue($prefix) {
return"{$prefix}ConcreteClass2";
}
}$class1 = new ConcreteClass1;
$class1->printOut();
echo$class1->prefixValue('FOO_') ."\n";
$class2 = new ConcreteClass2;
$class2->printOut();
echo$class2->prefixValue('FOO_') ."\n";
?>

No comments: