首页 / 设计模式 / 设计模式之一简单工厂模式
设计模式之一简单工厂模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了设计模式之一简单工厂模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1939字,纯文字阅读大概需要3分钟。
内容图文
![设计模式之一简单工厂模式](/upload/InfoBanner/zyjiaocheng/1165/4986a9e1a9b44d0e99fa7a7497b07c33.jpg)
根据用户需求实例化不同对象。
//simple factory model #include<iostream> using namespace std; //用一个单独的类来做这个创造实例的过程,即工厂 class Operation{ public: Operation() { number1=0; number2=0; result=0; } Operation(int one,int two):number1(one),number2(two) { result=0; } void setOne(int one) { number1=one; } void setTwo(int two) { number2=two; } int getOne() { return number1; } int getTwo() { return number2; } virtual int getResult() {//虚接口,需要子类自己实现 return result; } protected: int number1; int number2; int result; }; //四个具体操作的子类,主要用于实现虚函数接口 class AddOperation:public Operation{ public: virtual int getResult() { result=number1+number2; return result; } }; class SubOperation:public Operation{ public: virtual int getResult() { result=number1-number2; return result; } }; class MulOperation:public Operation{ public: virtual int getResult() { result=number1*number2; return result; } }; class DivOperation:public Operation{ public: virtual int getResult() { result=number1/number2; return result; } }; //工厂,一个接口类 class SimpleFactory{ public: static Operation* createOper(char operChar) { static Operation* oper; switch(operChar) { case '+': oper=new AddOperation(); break; case '-': oper=new SubOperation(); break; case '*': oper=new MulOperation(); break; case '/': oper=new DivOperation(); break; default: break; } return oper; } }; int main() { char operChar; int number1,number2; cout<<"please input number1:"; cin>>number1; cout<<endl; cout<<"please input number2:"; cin>>number2; cout<<endl; cout<<"please input a operation:"; cin>>operChar; cout<<endl; Operation* oper;//具体操作在创建时确定 opedgr=SimpleFactory::createOper(operChar);//根据输入实例化对象 //当需要新增其他操作时,只需要添加操作类及修改工厂,与客户端无关,客户端看不到改变 oper->setOne(number1); oper->setTwo(number2); cout<<"The Result is:"; cout<<oper->getResult()<<endl; return 0; }
原文:http://blog.csdn.net/walker19900515/article/details/47982773
内容总结
以上是互联网集市为您收集整理的设计模式之一简单工厂模式全部内容,希望文章能够帮你解决设计模式之一简单工厂模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。