Nathan
Новичок
Сейчас разбираюсь с этими чудо зверьками ))) И немного недопонимаю их... помогите разобраться на моем примере.
Предположим есть класс:
Как теперь этот же код реализовать с помощью аксессоров ?
Предположим есть класс:
PHP:
class BrowserHints
{
private $IEHints = 0;
private $OperaHints = 0;
private $NetscapeHints = 0;
public function setIEHints($num)
{
if($num<0) $this->IEHints = 0;
else $this->IEHints = $num;
}
public function setOperaHints($num)
{
if($num<0) $this->OperaHints = 0;
else $this->OperaHints = $num;
}
public function setNetscapeHints($num)
{
if($num<0) $this->NetscapeHints = 0;
else $this->NetscapeHints = $num;
}
public function printInfo()
{
$totalHints = $this->IEHints + $this->NetscapeHints + $this->OperaHints;
echo "<table width=100% border=1>";
echo "<tr><td> </td><td>Хиты</td><td>Процент</td></tr>";
echo "<tr>
<td>Internet Explorer</td>
<td>$this->IEHints</td>
<td>".sprintf("%01.1f%s",$this->IEHints/$totalHints * 100,'%') ."</td>
</tr>";
echo "<tr>
<td>Opera</td>
<td>$this->OperaHints</td>
<td>".sprintf("%01.1f%s",$this->OperaHints/$totalHints * 100,'%')."</td>
</tr>";
echo "<tr>
<td>Netscape</td>
<td>$this->NetscapeHints</td>
<td>".sprintf("%01.1f%s",$this->NetscapeHints/$totalHints * 100,'%')."</td>
</tr></table>";
}
}
$obj = new BrowserHints;
$obj->setIEHints(50);
$obj->setNetscapeHints(200);
$obj->setOperaHints(10);
$obj->printInfo();