{ return round($this->price * 0.05, 2); } } class BandEndorsedCaseOfCereal extends SaleItemTemplate { public $band; public function __construct($band, $price) { $this->band = $band; $this->price = $price; } protected function taxAddition() { return 0; } protected function oversizedAddition() { return round($this->price * 0.2, 2); } } $externalTitle = "Waste of a Rib"; $externalBand = "Never Again"; $externalCDPrice = 12.99; $externalCerealPrice = 90; $cd = new CD($externalBand, $externalTitle, $externalCDPrice); $cd->setPriceAdjustments(); print 'The total cost for CD item is: $' . $cd->price . ' < br / > '; $cereal = new BandEndorsedCaseOfCereal($externalBand, $externalCerealPrice); $cereal->setPriceAdjustments(); print 'The total cost for the Cereal case is: $' . $cereal->price;