在這個程序中,創建了兩個類,一個是通用的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();
購物車對象是一個數組,每個數組元素裝了一個商品對象,這樣可以方便地計算數組內元素的總合。