tp51工厂模式

原创 2018-10-31 15:18:26 276
摘要:总结:为避免类的严重依赖和批量实例化类,可以使用工厂模式,单独创建一个类用来实例化其他类。代码===========================================class Computer(){public function work(){return '学习PHP';}}class Auto(){public function run(){return 

总结:为避免类的严重依赖和批量实例化类,可以使用工厂模式,单独创建一个类用来实例化其他类。

代码===========================================

class Computer(){

public function work(){


return '学习PHP';

}

}

class Auto(){

public function run(){


return '去旅游';

}

}

// class Student{

// public function study(){

// $computer = new Computer();

// return '计算机'.$computer->work();

// }

// public function drive(){

// $auto = new Auto();

// return '汽车'.$auto->run();

// }

// }

//创建一个工厂类

class Factory(){

//实例化传入的类

public static function create($className){

        switch (strtolower($className)) {

        case 'computer':

        return new Computer();

        break;

        case 'auto':

        return new Auto();

        break;

        }

}

}

class Student{

public function study(){

$computer = Factory::create('computer');

return '计算机'.$computer->work();

}

public function drive(){

$auto = Factory::create('auto');

return '汽车'.$auto->run();

}

}


发布手记

热门词条