D.A.V.O.O.D
Member
سلام دوستان ،
در مورد abstract توی سایت php.net مطالعه می کردم که به یک قضیه ای بر خوردم .
این مثال توی سایت php.net ارائه شده :
در مورد abstract توی سایت php.net مطالعه می کردم که به یک قضیه ای بر خوردم .
این مثال توی سایت php.net ارائه شده :
PHP:
<?php
abstract class AbstractClass
{
// Force Extending class to define this method
abstract protected function getValue();
abstract protected function prefixValue($prefix);
// Common method
public function printOut() {
print $this->getValue() . "\n";
}
}
class ConcreteClass1 extends AbstractClass
{
protected function getValue() {
return "ConcreteClass1";
}
public function prefixValue($prefix) {
return "{$prefix}ConcreteClass1";
}
}
class ConcreteClass2 extends AbstractClass
{
public function getValue() {
return "ConcreteClass2";
}
public function prefixValue($prefix) {
return "{$prefix}ConcreteClass2";
}
}
$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";
$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>
من این مثال را یکمی دستکاری کردم ( abstract هارو برداشتم ) ولی در عمل متوجه تغییری نشدم !
PHP:
<?php
class AbstractClass
{
// Common method
public function printOut() {
print $this->getValue() . "\n";
}
}
class ConcreteClass1 extends AbstractClass
{
protected function getValue() {
return "ConcreteClass1";
}
public function prefixValue($prefix) {
return "{$prefix}ConcreteClass1";
}
}
class ConcreteClass2 extends AbstractClass
{
public function getValue() {
return "ConcreteClass2";
}
public function prefixValue($prefix) {
return "{$prefix}ConcreteClass2";
}
}
$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";
$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>
می خواستم بدونم که abstract به چه دردی می خوره وقتی که بود و نبودش فرقی نداره ؟ :دی
ممنون
ممنون