Source of: /ch14/example.14-7.php
<?php
// Access to the FreightCalculator class
require_once "example.14-6.php";
class AirFreightCalculator extends FreightCalculator
{
protected function perCaseTotal()
{
return 15 + $this->item->caseCount() * 1.00;
}
protected function perKgTotal()
{
return $this->item->totalWeight() * 0.40;
}
}
class RoadFreightCalculator extends FreightCalculator
{
protected function perCaseTotal()
{
$numcases = $this->item->caseCount();
if ($numcases < 5)
return 15;
else
return 15 + ($numcases - 5) * 1.50;
}
protected function perKgTotal()
{
$weight = $this->item->totalWeight();
if ($weight < 50)
return 0;
else
return ($weight - 50) * 0.10;
}
}
?>