Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. <?php
  2. abstract class AbstractCar {
  3. public abstract function getPrice();
  4. public abstract function getManufacturer();
  5. };
  6. class Car extends AbstractCar {
  7. private $price = 16000;
  8. private $manufacturer = 'Acme Autos';
  9. public function getPrice() { return $this->price; }
  10. public function getManufacturer() { return $this->manufacturer; }
  11. };
  12. class CarDecorator extends AbstractCar {
  13. private $target;
  14. function __construct( Car $target ) { $this->target = $target; }
  15. public function getPrice() { return $target->getPrice(); }
  16. public function getManufacturer() { return $target->getManufacturer(); }
  17. };
  18. class NavigationSystem extends CarDecorator {
  19. public function getPrice() { return parent::getPrice()+1000; }
  20. };
  21.  
  22. $car = new Car();
  23. $car = new NavigationSystem( $car );
  24. //$car = new LeatherSeats( $car );
  25. echo $car->getPrice();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement