<?php
/**
* A generic number class */
class Number {
/** * The number * * @var integer */ protected $number; /** * The constructor * * @param integer $num */ public function __construct($num) { $this->number = $num; } /** * Adds a number. * * @param integer $num */ public function add($num) { $this->number += $num; } /** * Substracts a number. * * @param integer $num */ public function substract($num) { $this->number -= $num; } /** * Multiplies by number. * * @param integer $num */ public function multiplyBy($num) { $this->number *= $num; } /** * Divides by number. * * @param integer $num * @throws NumberException */ public function divideBy($num) { if ( $num !== 0 ) { $this->number /= $num; } else { throw new NumberException('Division by zero!'); } } /* * Returns the number. * * @return integer */ public function get() { return $this->number; }
}
/**
* Number exceptions class. */
class NumberException extends RuntimeException {}