[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.下级类中继承了上级类的抽象方法,则要么去“实现具体内容”,要么保持为抽象方法
产出一个对象
单例模式:
例,就是实例,其实就是对象
单例:就是一个对象
单例模式:就是设计这样一个类,这个类只能创造出他的一个对象
第一步:先将信息保存起来
第二部:用于存储唯一的单例对象
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.下级类中继承了上级类的抽象方法,则要么去“实现具体内容”,要么保持为抽象方法
相关文章推荐
- PHP学习笔记:单例模式与工厂模式
- PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
- PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
- C#面向对象设计模式纵横谈 学习笔记3 Abstract Factory 抽象工厂
- 设计模式学习笔记六:.NET反射工厂
- 设计模式学习笔记之(一、工厂模式)
- 设计模式学习笔记——简单工厂(Simple Factory)
- C#面向对象设计模式纵横谈 学习笔记5 Factory Method 工厂方法(创建型模式)
- 简单工厂模式(未完成)——小鸟学习设计模式笔记系列
- C++对象工厂模式:ObjectFactory学习笔记
- 学习笔记:简单工厂模式
- 学习笔记之设计模式:抽象工厂
- 设计模式学习笔记之工厂模式
- 设计模式学习笔记(一):抽象工厂
- Factory Method Pattern 工厂模式 学习笔记
- 设计模式学习笔记四:工厂方法(Factory Method)
- 设计模式学习笔记3——设计模式基础2--抽象类
- C#设计模式学习笔记---简单工厂模式
- 设计模式学习笔记——工厂方法(Factory Method)
- 学雷锋之工厂方法模式学习笔记[C++版]