<?php
class exec_op extends operacoes
{
//determino o membro como privado
private $r;
function __construct()
{
//o comando abaixo determina que o construtor da classe
//pai deve ser usado
parent::__construct();
}
function __destruct()
{
//Da mesma forma que no construtor desta classe..
//o destrutor do pai deve ser usado
parent::__destruct();
}
public function print_soma($v1 = "", $v2 = "")
{
if ($v1 != "") {
$this->setV1($v1);
}
if ($v2 != "") {
$this->setV2($v2);
}
$this->r = $this->soma();
$this->imp();
}
public function print_modulo($v1 = "", $v2 = "")
{
if ($v1 != "") {
$this->setV1($v1);
}
if ($v2 != "") {
$this->setV2($v2);
}
$this->r = $this->ret_modulo();
$this->imp();
}
public function imp()
{
echo $this->r."<br>";
}
}
$exec = new exec_op();
// Retornará 13
$exec->print_soma();
//Retornará 1
$exec->print_modulo();
// Gera um erro "Fatal error: Call to private method
// operacoes::modulo() from context '' in operacoes.php on line xx"
echo $exec->modulo();
// Gera um erro "Fatal error: Call to protected method
// operacoes::divisao() from context '' in operacoes.class.php on line xx"
echo $exec->divisao();
// Retornará 7
echo $exec->subtracao();
// Gera um erro "Fatal error: Call to protected method
// operacoes::multiplicacao() from context '' in operacoes.class.php on line 122
echo $exec->multiplicacao();
?>