Cocos2d-x设计模式之二:二段构建模式
2013-12-11 20:36
148 查看
面向对象的封装特性 Private Class star{ public $name; private $age; private $weight; //构造函数,在类被实例化之后,第一个被自动执行的方法,不需要人工进行手动调用 function __struct($name,$age,$weight){ $this->name=$name; $this->age=$age; $this->weight=$weight; } //当对象访问类的私有属性时,系统会自动调用 private function __get($varName){ return $this->$varName; } //当对象访问类的私有属性,并为私有属性赋值时,系统会自动调用 private function __set($varName,$strValue){ return $this->$varName=$strValue; } //当对象 访问类的私有属性,并使用isset()函数判断对象的私有属性是否存在时,系统自动调用__isset() private function __isset($strName){ return isset($this->$strName); } //当对象访问类的私有属性,并使用unset()函数销毁对象的私有属性的时候,系统自动调用__unset()魔术方法 private function __unset($strName){ unset($this->$strName);//unset($var)销毁变量时没有返回值 } } $star=new star; echo $star->name; //访问对象的公共属性,可以直接访问 $star->="李小龙"; //可以访问对象的公共属性,并赋值 isset($star->name); //可以在类的外部直接使用isset()函数判断类的公共属性是否存在 unset($star->name); //可以再类的外部直接使用unset()函数来对对象的公共属性进行销毁 /////////////关于私有属性的操作/////////////// echo $star->age; //return error //不能在类的外部直接访问类的私有属性 $star->age="30";//return error //不能再类的外部直接访问类的私有属性,并为其赋值 echo isset($star->weight); //return error //不能在类的外部直接判断对象的私有属性是否存在 unset($star->weight); //return error //不能在类的外部直接销毁类的私有属性 //////////////////系统自动调用类的魔术方法访问私有属性,并对私有属性进行操作////////////////////////// //对象访问类的私有属性,系统自动调用__get()魔术方法 echo $star->age; //对象访问类的私有属性,并为该私有属性赋值,系统自动调用__set()魔术方法 $star->weight="65kg"; //对象访问类的私有属性,并使用isset()函数判断该私有属性是否存在,系统自动调用__isset()魔术方法 isset($star->age); //对象访问类的私有属性,并使用unset()函数销毁该私有属性时,系统自动调用__unset()魔术方法 unset($star->weight);
本文出自 “我的PHP之路” 博客,转载请与作者联系!
相关文章推荐
- Cocos2d-x设计模式发掘之二:二段构建模式
- cocos2d-x设计模式发掘之二:二段构建模式
- [转]Cocos2D-x设计模式发掘之二:二段构建模式
- Cocos2D-x设计模式发掘之二:二段构建模式
- Cocos2D-x设计模式发掘之二:二段构建模式 -----------cocos2d-x3.0正式版本(7.22)
- Cocos2D-x设计模式发掘之二:二段构建模式
- Cocos2d-x设计模式发掘之二:二段构建模式
- Cocos2d-x设计模式发掘之二:二段构建模式
- Cocos2D-X 设计模式:二段构建模式
- Cocos2d-x 设计模式 -- 二段构建模式
- Cocos2d-x设计模式 :二段构建模式
- Cocos2d-x 设计模式 (2):二段构建模式
- Cocos2D-X 设计模式:二段构建模式
- Cocos2D-X 设计模式:二段构建模式
- 设计模式系列漫谈之二 - 工厂方法模式
- PHP面向对象学习笔记之二:生成对象的设计模式
- 设计模式原则之二:开闭原则
- Javascript 设计模式学习之二 Module(模块)模式
- 设计模式C++学习笔记之二(Proxy代理模式)
- [设计模式学习笔记][之二]面象对象单挑结构化设计