设计模式及面向对象的设计原则

include  加载类的方法  中文意思是包含

require  也是加载方法

require_once  加载

 

上面所有的都有两个方法

如:1  XX(“./Ren.class.name”)

         2  XX “./Ren.class.name”

 

自动加载类的方法   有限制,必须在同一个目录下  所有类文件的命名规则一样!满足这俩条件

function__autoload(classname)

{

         require $classname.”class.php”

}

 


 

设计模式

         1,单例模式  类的计划生育 只能造出一个来

 

                            1.让该类在外界无法访问

                            2.外界造一个对象,作业个方法返回对象

empty方法是判断变量是不是空  用法if(empty($dx))   {}

                                                                                                                                                                                                                                                 

class Dog

{

         static $dx

         private function __construct()

{

        

}  

         static  function DuiXdiang()          做一个静态的

{

                  if(empty(self::$dx))           self 一定不能忘了

                   {

                   $dx = new  Dog

 

}

        return  self:: $dx

}

}

 

Dog::DuiXiang();

 


 

工厂模式

        

 

abstract class YuanSuan        抽象的

{

         public $a;

         public $b;

        

         function Suan()

         {

         }

}

 

class Jia extends YuanSuan         继承抽象的 就这个关键字

{

         function Suan()

         {

                   return $this->a+$this->b;                            this  关键字

         }

}

 

class Jian extends YuanSuan                                        继承抽象的类的关键字

{

         function Suan()

         {

                   return $this->a-$this->b;

         }

}

 

class Cheng extends YuanSuan

{

         function Suan()

         {

                   return $this->a*$this->b;

         }

}

 

/*$j = new Cheng();

$j->Suan();

*/

 

class GongChang

{

         static function ShengChan($f)

         {

                   switch($f)

                   {

                            case "+":

                                     return new Jia();

                                     break;

                            case "-":

                                     return new Jian();

                                     break;

                            case "*":

                                     return new Cheng();

                                     break;

                   }

         }

}

 

 

$r = GongChang::ShengChan("*");

$r->a=10;

$r->b=5;

echo $r->Suan();

 

posted @ 2016-10-27 10:59  夜雨声烦丶  阅读(134)  评论(0编辑  收藏  举报