Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70045
  • 博文数量: 18
  • 博客积分: 492
  • 博客等级: 下士
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-24 20:27
文章分类
文章存档

2011年(18)

分类: 系统运维

2011-04-07 17:27:31

  1. <?php
  2. class CartLine
  3. {
  4.     public $price;
  5.     public $num;

  6.     public function total()
  7.     {
  8.         return $this->num * $this->price;
  9.     }
  10. }

  11. class Cart
  12. {
  13.     protected $sale = 0.8;
  14.     protected $lines = array();

  15.     public function addLine($cart)
  16.     {
  17.         $this->lines[] = $cart;
  18.     }

  19.     public function calcTotal()
  20.     {
  21.         $total = 0;
  22.         foreach ($this->lines as $line) {
  23.             $total+= $line->total();
  24.         }
  25.         $total = $this->calcSaleTotal($total);
  26.         return $total;
  27.     }

  28.     public function calcSaleTotal($amount)
  29.     {
  30.         return $amount * $this->sale;
  31.     }
  32. }

  33. $obj1 = new CartLine();
  34. $obj1->price = 100;
  35. $obj1->num = 2;
  36. $obj2 = new Cart();
  37. $obj2->addLine($obj1);
  38. echo $obj2->calcTotal();
忘记一切面向对象,重新学习,体会了一下分块设计原则手写了一下,购物车的打折设计
阅读(1316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~