note 25562 modified in keyword.extends by jmcastagnetto
| From: | jmcastagnetto@php.net | Date: | Fri, 27 Sep 2002 21:19:34 +0000 |
| Subject: | note 25562 modified in keyword.extends by jmcastagnetto | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-37353@lists.php.net to get a copy of this message | ||
[Editor's note: For an alternative to multiple inheritance, see the dynamic binding via object
aggregation in the corresponding section of the manual.]
Multiple Inheritance is not supported but it is easy to emulate it:
class multipleInheritance
{
function callClass($class_to_call)
{
return new $class_to_call();
}
}
class A
{
function insideA()
{
echo "I'm inside A!<br />";
}
}
class B
{
function insideB()
{
echo "I'm inside B!<br />";
}
}
class C extends multipleInheritance
{
function insideC()
{
$a = parent::callClass('A');
$a->insideA();
$b = parent::callClass('B');
$b->insideB();
}
}
$c = new C();
$c->insideC();
---
This will succesfully echo:
I'm inside A!
I'm inside B!
--was--
Multiple Inheritance is not supported but it is easy to emulate it:
class multipleInheritance
{
function callClass($class_to_call)
{
return new $class_to_call();
}
}
class A
{
function insideA()
{
echo "I'm inside A!<br />";
}
}
class B
{
function insideB()
{
echo "I'm inside B!<br />";
}
}
class C extends multipleInheritance
{
function insideC()
{
$a = parent::callClass('A');
$a->insideA();
$b = parent::callClass('B');
$b->insideB();
}
}
$c = new C();
$c->insideC();
---
This will succesfully echo:
I'm inside A!
I'm inside B!
http://www.php.net/manual/en/keyword.extends.php