在這個程序中,創建了兩個類,一個是通用的Product類,它封裝了一個產品和產品的屬性,另一個是購物車的Cart類。
Product類(Product.php)
商品類有三個屬性,分別是編號、描述和價格。
class Product { protected $_partNumber, $_description, $_price; public function __construct($parNumber,$description,$price) { $this->_partNumber=$parNumber; $this->_description=$description; $this->_price=$price; } public function getPartNumber() { return $this->_partNumber; } public function getDescription() { return $this->_description; } public function getPrice() { return $this->_price; } }
Cart對象(Cart.php)
購物車類的主要功能是計算所有商品的總價格。
require_once ('Product.php'); class Cart extends ArrayObject { protected $_products; public function __construct() { $this->_products=array(); parent::__construct($this->_products); } public function getCarTotal() { for( $i=$sum=0,$cnt=count($this); $i<$cnt; $sum+=$this[$i++]->getPrice() ); return $sum; } }
調用方法:
$cart=new Cart(); $cart[]=new Product('00231-A','Description',1.99); $cart[]=new Product('00231-B','B',1.99); echo $cart->getCarTotal();
購物車對象是一個數組,每個數組元素裝了一個商品對象,這樣可以方便地計算數組內元素的總合。