java建造者模式和抽象工厂模式怎么实现
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要讲解了"java建造者模式和抽象工厂模式怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java建造者模式和抽象工厂模式怎么实现"吧
千家信息网最后更新 2024年09月22日java建造者模式和抽象工厂模式怎么实现
这篇文章主要讲解了"java建造者模式和抽象工厂模式怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java建造者模式和抽象工厂模式怎么实现"吧!
1、建造者模式
一个对象的构建比较复杂,将一个对象的构建和对象的表示进行分离!!!
2、具体实现
(1)、代码如下
#include#include using namespace std;class House{ public: void setDoor(string door){ this->m_door = door; } void setWall(string wall){ this->m_wall = wall; } void setWindow(string window){ this->m_window = window; } public: string getDoor(){ return m_door; } string getWall(){ return m_wall; } string getWindow(){ return m_window; } private: string m_door; string m_wall; string m_window;};//请工程队来建造房子class Build{ public: House *setHouse(){ } private:};int main(void){ //这样写不好,是客户直接造房子; House *house = new House; house->setDoor("门"); house->setWall("墙面"); house->setWindow("窗口"); delete house; return 0; }
3、抽象工厂
只能生产一个产品;
4、具体实现
(1)、代码如下
#includeusing namespace std;class Fruit;class AbstractFactory{ public: virtual Fruit *CreateBanana() = 0; virtual Fruit *CreateApple() = 0; private:};class Fruit{ public: virtual void sayname() = 0; private:};class NorthBanana : public Fruit{ public: virtual void sayname(){ cout<<"我是北方香蕉"< CreateApple(); fruit->sayname(); fruit = af->CreateBanana(); fruit->sayname(); //--------------------------- af = new NorthFactory; fruit = af->CreateApple(); fruit->sayname(); fruit = af->CreateBanana(); fruit->sayname(); delete af; return 0; }
(2)、运行结果
(3)、抽象模式
缺点:抽象工厂的产品线都被写死了;只能生产这2种产品;
感谢各位的阅读,以上就是"java建造者模式和抽象工厂模式怎么实现"的内容了,经过本文的学习后,相信大家对java建造者模式和抽象工厂模式怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
模式
工厂
产品
对象
学习
代码
内容
房子
苹果
香蕉
生产
复杂
不好
产品线
墙面
客户
就是
工程
工程队
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全业务模式
软件开发福利
服务器是用来做什么的
网络安全小报图片自己涂颜色
软件开发合同审核意见
网络安全问题英文作文80词
我的世界pe服务器怎么管理
如何考察软件开发
中国高铁网络技术
lol服务器有多少
指尖动力网络技术
sql用什么模型构建数据库
靖江软件开发哪家好
象山直销软件开发工程
数据库原理张红娟答案
山东春考网络技术专业考试大纲
阿里云网络服务器端口
高三政治网络安全时政专题
网络安全工程师的题型
10g数据库支持增量导入
查看某个数据库的所有表
外贸加工中心数据库
重庆戴尔服务器维修调试哪家便宜
软件开发增量模型图
高青人事hr软件开发公司
全球网络安全高地
城厢良地网络技术服务
高级网络安全系统
山东春考网络技术专业考试大纲
服务器安全运维工程师