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;
?>



[本日志由 lly365 于 2008-10-02 08:53 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: php5 面向对象 只读属性 只写属性 oop
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.