您的位置:首页 > 编程语言 > PHP开发

[php学习笔记]工厂模式,单例模式、抽象类

2017-05-26 21:21 330 查看
工厂模式:
产出一个对象

单例模式:
例,就是实例,其实就是对象
单例:就是一个对象
单例模式:就是设计这样一个类,这个类只能创造出他的一个对象

第一步:先将信息保存起来
第二部:用于存储唯一的单例对象
private static $instance = null;
第三部:static function GetInstance($config){
if(!isset(self::$instance)){ //还没有该对象
self::$instance = new self($config);
}
return self::$instance;
(第四步:私有化__clone方法   private __clone(){})
}

例:
class Singel{
private function __construct(){};
private static $instance = null;
static function GetInstance(..){
if(!(staic::$instance instanceOf static))//还没有
static::$instance = new self(..);
}
return static::$instance;
}

设计一个类:mysql数据库操作类
设计目标:
1.该类一实例化,就可以自动连接上mysql数据库
2.课单独设置链接编码(set names xxx)
3.单独设置使用的数据库(use xxx)
4.可主动关闭连接
大致代码:
$link = mysql_connect("localhost","root","123");
mysql_query("set names xxx");
mysql_query("use xxx");
然后,后面就可以执行各种sql语句:

例:
class MySQLDB{
function __construct(){
$link = mysql_connect("localhost","root","123");
mysql_query("set names xxx");
mysql_query("use xxx");
}
function SetDbname(){

}
}
$db1 = new MySQLDB();
//不写完了。。

抽象类:
abstract class 名字{
protected $v1;
abstact protected function f1();  //没有大括号  抽象方法
}
//下级类继承时需要实现具体方法
//子类必须实现父类所有抽象方法,除非子类也即成为抽象方法

抽象类和抽象方法的细节:
1.一个抽象方法,必须在抽象类中
2.反过来,抽象类中可以没有抽象方法————虽然不常见
3.可见。抽象方法是为了规定下级类中“必须”要做具体去完整某个工作

4.下级类中继承了上级类的抽象方法,则要么去“实现具体内容”,要么保持为抽象方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: