new tasks
This commit is contained in:
parent
2a4d27cea0
commit
80737d5a6a
1194 changed files with 15353 additions and 1 deletions
25
Task/Delegates/PHP/delegates.php
Normal file
25
Task/Delegates/PHP/delegates.php
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
class Delegator {
|
||||
function __construct() {
|
||||
$this->delegate = NULL ;
|
||||
}
|
||||
function operation() {
|
||||
if(method_exists($this->delegate, "thing"))
|
||||
return $this->delegate->thing() ;
|
||||
return 'default implementation' ;
|
||||
}
|
||||
}
|
||||
|
||||
class Delegate {
|
||||
function thing() {
|
||||
return 'Delegate Implementation' ;
|
||||
}
|
||||
}
|
||||
|
||||
$a = new Delegator() ;
|
||||
print "{$a->operation()}\n" ;
|
||||
|
||||
$a->delegate = 'A delegate may be any object' ;
|
||||
print "{$a->operation()}\n" ;
|
||||
|
||||
$a->delegate = new Delegate() ;
|
||||
print "{$a->operation()}\n" ;
|
||||
Loading…
Add table
Add a link
Reference in a new issue