Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require 'Classes/Calculator.php';
- require 'Classes/OperatorInterface.php';
- require 'Classes/Adder.php';
- require 'Classes/Subtractor.php';
- $c = new Calculator;
- $c->setOperation(new Adder);
- $c->calculate(10, 50);
- echo $c->getResult();
- ?>
- <?php
- class Calculator{
- protected $result;
- protected $operation;
- public function setOperation(OperatorInterface $operation){
- $this->operation = $operation;
- }
- public function calculate(){
- foreach(func_get_args() as $number){
- $this->result = $this->operation->run($number, $this->$result);
- }
- }
- public function getResult(){
- return $this->result;
- }
- }
- ?>
- <?php
- class Adder implements OperatorInterface{
- public function run($number, $result){
- return $result + $number;
- }
- }
- ?>
- <?php
- interface OperatorInterface{
- public function run($number, $result);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement