Mega Code Archive
Define class level constant value to control the class behaviour
count = $count;
$this->costtype = $costtype;
}
function cost() {
switch ( $this->costtype ) {
CASE self::TIMED :
return (5 * $this->count);
break;
CASE self::FIXED :
return 30;
break;
default:
$this->costtype = self::FIXED;
return 30;
}
}
function chargeType() {
switch ( $this->costtype ) {
CASE self::TIMED :
return "hourly rate";
break;
CASE self::FIXED :
return "fixed rate";
break;
default:
$this->costtype = self::FIXED;
return "fixed rate";
}
}
}
class ProductOne extends Product {
}
class ProductTwo extends Product {
}
$lesson = new ProductTwo( 4, Product::TIMED );
$lesson = new ProductTwo( 4, Product::FIXED );
$lesson = new ProductTwo( 4, 33 );
print "lesson charge {$lesson->cost()}. Charge type: {$lesson->chargeType()}\n";
?>