本帖最后由 小鲁哥哥 于 2017-10-19 11:17 编辑
目标: 设计一个类,该类只允许实例化一个对象出来! 解决方法: //分4步: class S{ //第1步:私有化构造方法:以防止new该类 private function __construct(){} //第2步:定义一个私有的静态属性,目的是用以存储该单例对象: private static $obj; //第3步:定义一个公开的静态方法,从中判断并实例化一个对象并返回该对象(单例对象) static function G(){ if( !isset (static::$obj )){ static::$obj = new static(); } return static::$obj; } //第4步:私有化克隆方法,以防止克隆 private funciton __clone(){} } 这样的话,我们在实例化对象的时候静态的变量会存储这个对象,如果我实例化两次的时候,只会返回一个对象,避免了资源的浪费~
不知道大家对今天讲的类的单例模式学习的怎么样啊?有什么疑问欢迎来黑马程序员济南中心来咨询哟~
点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
|