工厂模式总结

原创 2018-12-12 22:55:00 278
摘要:工厂模式总结    就是将对象的创建,统一到一个工厂类中的方法进行创建,想要在类中实例化其他类时,就调用工厂类中的这个方法来实例化类.理解的对不?//创建一个Book类 class Book {     public function canRead()    

工厂模式总结

    就是将对象的创建,统一到一个工厂类中的方法进行创建,想要在类中实例化其他类时,就调用工厂类中的这个方法来实例化类.理解的对不?

//创建一个Book类
class Book
{
    public function canRead()
    {
        return '书能读!';
    }
}
class Phone
{
    public function canTel()
    {
        return '手机能打!';
    }
}
class Factorys
{
    //创建一个静态方法来声明类的实例
    public static function create($className)
    {
        //转为小写
        switch(strtolower($className)){
            case 'book':
                return new Book();
                break;
            case 'phone':
                return new Phone();
                break;
        }
    }
}

//创建一个Hero类
class Hero
{
    //调用Book类中的方法
    public function look()
    {
        $book = Factorys::create('BooK');
        return 'Hero的'.$book->canRead();
    }
    //调用Phone类中的方法
    public function art()
    {
        $book = Factorys::create('Phone');
        return 'Hero的'.$book->canTel();
    }
}

//实例化Hero类
$hero = new Hero;
echo $hero->look().'<hr>';
echo $hero->art().'<hr>';


发布手记

热门词条