PHP5 实现只读、只写属性
程序代码<?php
class LoRuiDb
{
private $readonly = '<br>只读属性<br>';
private $writeonly;
private $readandwrite;
function __get($n)
{
switch($n)
{
case 'ReadOnly':
return $this->readonly;
break;
case 'WriteOnly':
return 'WriteOnly属性只写,不能获取值!';
break;
case 'ReadAndWrite':
return $this->readandwrite;
break;
}
}
function __set($n,$v)
{
switch($n)
{
case 'ReadOnly':
echo 'ReadOnly属性只读,不能设置值!';
break;
case 'WriteOnly':
$this->writeonly = $v;
break;
case 'ReadAndWrite':
$this->readandwrite = $v;
break;
}
}
public function ShowWriteOnlyValue()
{
echo "<p>$this->writeonly</p>";
}
function __construct($msg='Default Msg')
{
echo $msg;
}
function __destruct()
{
echo 'bye LoRuiDb';
}
}
$db = new LoRuiDb('龙睿·LoRui');
echo $db->ReadOnly;
$db->ReadOnly = 'php class';
echo $db->ReadOnly;
echo $db->WriteOnly;
$db->WriteOnly = 'Acer 4315';
$db->ShowWriteOnlyValue();
$db->ReadAndWrite = 'Geany<br>';
echo $db->ReadAndWrite;
?>
class LoRuiDb
{
private $readonly = '<br>只读属性<br>';
private $writeonly;
private $readandwrite;
function __get($n)
{
switch($n)
{
case 'ReadOnly':
return $this->readonly;
break;
case 'WriteOnly':
return 'WriteOnly属性只写,不能获取值!';
break;
case 'ReadAndWrite':
return $this->readandwrite;
break;
}
}
function __set($n,$v)
{
switch($n)
{
case 'ReadOnly':
echo 'ReadOnly属性只读,不能设置值!';
break;
case 'WriteOnly':
$this->writeonly = $v;
break;
case 'ReadAndWrite':
$this->readandwrite = $v;
break;
}
}
public function ShowWriteOnlyValue()
{
echo "<p>$this->writeonly</p>";
}
function __construct($msg='Default Msg')
{
echo $msg;
}
function __destruct()
{
echo 'bye LoRuiDb';
}
}
$db = new LoRuiDb('龙睿·LoRui');
echo $db->ReadOnly;
$db->ReadOnly = 'php class';
echo $db->ReadOnly;
echo $db->WriteOnly;
$db->WriteOnly = 'Acer 4315';
$db->ShowWriteOnlyValue();
$db->ReadAndWrite = 'Geany<br>';
echo $db->ReadAndWrite;
?>

