Se o construtor da classe filha não fizer outras coisas, você poderá omitir o construtor.
Apenas o abaixo está ok:
class CheckOut extends DB_MySQL{
}
Mas se o construtor da classe filha precisar fazer algum outro trabalho, sim, você precisa fazer:
class CheckOut extends DB_MySQL{
public function __construct($dbuser, $dbpass, $dbhost, $dbname)
{
parent::__construct($dbuser, $dbpass, $dbhost, $dbname);
do_some_other_work();
}
}
Quando você usa, ambos precisam chamar:
$checkout = new CheckOut($dbuser, $dbpass, $dbhost, $dbname);