zoukankan      html  css  js  c++  java
  • 工厂类---一般工厂(2)

    一个工厂生产一种产品

    //抽象水果类Fruit

    //抽象的工厂类FruitFactory

    //具体的工厂类 BananaFactory PearFactory

    //具体的水果  //Banana Pear

     

    class Fruit
    {
    public:
        virtual void sayName()
        {
            std::cout<<"Fruit"<<std::endl;
        }
    };
    
    class FruitFactory
    {
        virtual Fruit *getFruit()
        {
            std::cout<<"FruitFactory:getFruit"<<std::endl;
            return NULL;
        }
    };
    
    
    class Pear : public Fruit
    {
    public:
        virtual void sayName()
        {
            std::cout<<"我是梨子"<<std::endl;
        }
    };
    
    class Banana : public Fruit
    {
    public:
        virtual void sayName()
        {
            std::cout<<"我是香蕉"<<std::endl;
        }
    };
    
    //dependency
    class BananaFactory : FruitFactory
    {
    public:
        virtual Fruit *getFruit()
        {
            return new Banana();
        }
    };
    //dependency
    class PearFactory : FruitFactory
    {
    public:
        virtual Fruit *getFruit()
        {
            return new Pear();
        }
    };

    工厂模式也就是鼠标工厂是个父类,有生产鼠标这个接口。
    戴尔鼠标工厂,惠普鼠标工厂继承它,可以分别生产戴尔鼠标,惠普鼠标。
    生产哪种鼠标不再由参数决定,而是创建鼠标工厂时,由戴尔鼠标工厂创建
    后续直接调用鼠标工厂.生产鼠标()即可

  • 相关阅读:
    JavaScript中的面向对象
    操作文件
    PDO 数据访问抽象层
    Jquery事件
    Jquery
    面向对象的五大基本原则是
    ioc依赖注入的原则
    java3
    java基础2
    java基础
  • 原文地址:https://www.cnblogs.com/mathyk/p/9756819.html
Copyright © 2011-2022 走看看