php生成対象の研究
7399 ワード
<?php
abstract class E{
protected $name;
function __construct($name){
$this->name = $name;
}
abstract function fire();
}
class M extends E{
function fire(){
print "{$this->name}:iiiii
";
}
}
class N{
private $e = array();
function adde($ename){
$this->e[] = new M($ename);
}
function p(){
if(count($this->e)>0){
$emp = array_pop($this->e);// array_pos
$emp->fire();
}
}
}
$boss = new N();
$boss->adde('harry');
var_dump($boss);
$boss->adde('bob');
var_dump($boss);
$boss->p();
<?php
abstract class E{
protected $name;
function __construct($name){
$this->name = $name;
}
abstract function fire();
}
class M extends E{
function fire(){
print "{$this->name}:iiiii
";
}
}
class N{
private $e = array();
function adde(E $ename){
$this->e[] = $ename;
}
function p(){
if(count($this->e)>0){
$emp = array_pop($this->e);
//var_dump($emp);
$emp->fire();
}
}
}
class C extends E{
function fire(){
print "{$this->name}:oooooo
";
}
}
$boss = new N();
$boss->adde(new M('harry'));
var_dump($boss);
$boss->adde(new C('bob'));
var_dump($boss);
$boss->adde(new M('mary'));
var_dump($boss);
$boss->p();
var_dump($boss);
$boss->p();
var_dump($boss);
$boss->p();