Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. <?php
  2. require 'Classes/Calculator.php';
  3. require 'Classes/OperatorInterface.php';
  4. require 'Classes/Adder.php';
  5. require 'Classes/Subtractor.php';
  6.  
  7. $c = new Calculator;
  8.  
  9. $c->setOperation(new Adder);
  10. $c->calculate(10, 50);
  11.  
  12. echo $c->getResult();
  13. ?>
  14.  
  15. <?php
  16. class Calculator{
  17.  
  18. protected $result;
  19.  
  20. protected $operation;
  21.  
  22. public function setOperation(OperatorInterface $operation){
  23. $this->operation = $operation;
  24. }
  25.  
  26. public function calculate(){
  27. foreach(func_get_args() as $number){
  28. $this->result = $this->operation->run($number, $this->$result);
  29. }
  30. }
  31.  
  32. public function getResult(){
  33. return $this->result;
  34. }
  35. }
  36. ?>
  37.  
  38. <?php
  39. class Adder implements OperatorInterface{
  40. public function run($number, $result){
  41. return $result + $number;
  42. }
  43. }
  44. ?>
  45.  
  46. <?php
  47. interface OperatorInterface{
  48. public function run($number, $result);
  49. }
  50. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement