在日常实用类的时候,每每要进行类功能的扩展,若是直接在里面进行扩展,有可能会对类里面的其余功能产生影响,因此在扩展功能的时候就要从新写类,这就要采用继承的方式,如:服务器
1 class YunSuan() 2 { 3 public $a; 4 public $b; 5 function Suan() //造一个运算的方法 6 { 7 } 8 } 9 class Jia extends YunSuan() //造一个加的子类继承父类 10 { 11 function Suan() //重写Suan的方法 12 { 13 return $this->a+$this->b; 14 } 15 }
工厂模式:生产对象函数
若是类里面的方法名使用了很复杂的单词命名,就会致使在使用类时必须将类里面的方法名记住,这会在使用类的时候形成不便。采用工厂模式,经过某些特殊的符号来生产相应的类,就会使咱们在使用类的时候很方便,以下面一个工厂模式的类:this
1 class gongchang //造一个工厂模式的类 2 { 3 static function shengchan($ysf) //定义一个生产对象的方法 4 { 5 //判断每一个符号,并生产相应的类 6 case "+": 7 ruturn new Jia(); 8 break; 9 case "_": 10 return new Jian(); 11 break; 12 } 13 }
造好里以后,就能够用相应的符号来生成相应的对象,来实现功能:spa
$jia = gongchang::shengchan("+"); $jia->a = 5; $jia->b = 10; $jia->suan();
单例模式:code
在程序中,若是一个类来造了不少对象的话,就会致使服务器出问题,因此咱们要控制生成类的个数,这就要用到单例模式,控制每一个类只能造一个对象。对象
class DBDA { public static $dx; //存储对象 //将构造函数变成私有,避免外界访问 private function __contruct() { } //生成对象 static function shengcheng() { if(empty(self::$dx)) { $dx = new DBDA(); } return self::$dx; } }