企业建设3D网站网站的目的及功能规划

pingmian/2025/10/8 4:47:21/文章来源:
企业建设3D网站,网站的目的及功能规划,如何用腾讯云主机做网站,一个网站的后台怎么做桥接模式的定义 C的桥接模式#xff08;Bridge Pattern#xff09;是一种结构型设计模式#xff0c;它将抽象部分与实现部分分离#xff0c;使得它们可以独立地变化。桥接模式的核心思想是利用组合关系代替继承关系#xff0c;将系统划分成多个独立的、功能不同的类层次结…桥接模式的定义 C的桥接模式Bridge Pattern是一种结构型设计模式它将抽象部分与实现部分分离使得它们可以独立地变化。桥接模式的核心思想是利用组合关系代替继承关系将系统划分成多个独立的、功能不同的类层次结构并通过桥接类将它们连接起来。 在桥接模式中有两个重要的概念抽象化Abstraction和实现化Implementation它们分别对应了系统的抽象部分和实现部分。抽象化负责定义接口并维护一个指向实现化对象的指针实现化则负责定义具体的实现方法。 使用场景 关于桥接模式的使用对应的场景有很多比如 1.空调、电视等和他们对应的遥控器空调、电视机是抽象遥控器是实现 2.手机品牌和手机软件手机品牌是抽象手机软件是实现 3.跨品台的GUI在不同平台上运行程序的GUI层是抽象操作系统API是实现。 4.假设我们正在开发一个图形绘制应用程序支持多种图形和不同的绘制渲染方式。其中图形包括圆形、矩形等渲染方式包括使用直线绘制、使用虚线绘制等。这两个维度的变化都可能会在未来进行扩展和修改。 就是说将具体的图形和具体的渲染桥接在一起实现图形和渲染方式之间的解耦我们可以在客户端代码中使用桥接模式通过实例化具体的图形对象和具体的渲染实现对象将它们桥接在一起并进行绘制 #include iostream// Abstract Render API class RenderAPI { public:virtual void renderCircle() 0; // 抽象的渲染圆形方法virtual void renderRectangle() 0; // 抽象的渲染矩形方法 };// Concrete Line Renderer class LineRenderer : public RenderAPI { public:void renderCircle() override {std::cout Render Circle with lines. std::endl; // 使用线条渲染圆形}void renderRectangle() override {std::cout Render Rectangle with lines. std::endl; // 使用线条渲染矩形} };// Concrete Dashed Line Renderer class DashedLineRenderer : public RenderAPI { public:void renderCircle() override {std::cout Render Circle with dashed lines. std::endl; // 使用虚线渲染圆形}void renderRectangle() override {std::cout Render Rectangle with dashed lines. std::endl; // 使用虚线渲染矩形} };// Abstract Shape class Shape { protected:RenderAPI* renderAPI;public:Shape(RenderAPI* api) : renderAPI(api) {}virtual void draw() 0; // 抽象的绘制方法具体的形状类将实现这个方法 };// Concrete Circle class Circle : public Shape { public:Circle(RenderAPI* api) : Shape(api) {}void draw() override {renderAPI-renderCircle(); // 调用渲染API的渲染圆形方法来绘制圆形} };// Concrete Rectangle class Rectangle : public Shape { public:Rectangle(RenderAPI* api) : Shape(api) {}void draw() override {renderAPI-renderRectangle(); // 调用渲染API的渲染矩形方法来绘制矩形} };int main() {// 创建一个圆形对象并设置使用线条渲染的渲染APIShape* circleShape new Circle(new LineRenderer());// 创建一个矩形对象并设置使用虚线渲染的渲染APIShape* rectangleShape new Rectangle(new DashedLineRenderer());// 绘制圆形circleShape-draw();// 绘制矩形rectangleShape-draw();delete circleShape;delete rectangleShape;return 0; }海贼王实例 对于海贼王中来说有海军有海贼团不论是海军还是海贼团他们都有自己的船海军的船叫军舰海贼团的船叫海贼船因此我们需要将船和团队分开 船海贼团 --海贼船 船海军—军舰 对于一个海贼团或者一支海军部队来说光有船是不完整的船只是这个团队的抽象如果想要让它鲜活起来就必要要有由人组成的团队也就是抽象的具体实现。所以在这个抽象类中包含了一个团队对象船和团队二者之间的关系可以看做是聚合关系。 我们以草帽海贼团和斯摩格海贼团为例 #include iostream #includestring #includemap using namespace std;//不论是哪艘船上的船员肯定都是由一些个人的身份信息为了将这些信息记录下来先定一个存储数据的类 //人员信息 struct Person {Person(string name, string job, string ability, string reward, string beizhustring()){this-name name;this-job job;this-ability ability;this-reward reward;this-beizhu beizhu;}~Person(){cout name 被析构了... endl;}string name; //姓名string job; //工作string ability; //能力string reward; //赏金string beizhu; //备注 }; //关于团队的成员组成可以是海贼也可以是海军所以先定义一个团队的抽象类 class AbstractTeam { public:AbstractTeam(string name):m_teamName(name) {}//获取团队姓名string getTeamName(){return m_teamName;}//给团队添加成员,用map保存键是姓名值是Person类void addMember(Person* p){m_infoMap.insert(make_pair(p-name,p));}//打印成员信息void show(){cout m_teamName : endl;//遍历mapfor(const auto item:m_infoMap){cout 【Name: item.second-name , Job: item.second-job , Ability: item.second-ability , MoneyReward: item.second-reward , BeiZhu: item.second-beizhu 】 endl;}}//执行任务函数海军和海贼的任务不同因此是纯虚函数子类中重写virtual void executeTask() 0;//虚析构函数释放类时将m_infoMap保存的团队所有成员都析构掉virtual ~AbstractTeam(){for (const auto item : m_infoMap){delete item.second;}} protected:string m_teamName string();//该团队的所有成员mapstring, Person* m_infoMap; }; //具体的团队类路飞的草帽海贼团和斯摩格的海军团 //草帽海贼团 class CaoMaoTeam :public AbstractTeam { public:using AbstractTeam::AbstractTeam;//继承基类的构造函数而不用子类重新实现相同的构造函数void executeTask() override{cout 在海上冒险找到 ONE PIECE 成为海贼王 endl;} }; //斯摩格海军团队 class SmokeTeam :public AbstractTeam { public:using AbstractTeam::AbstractTeam;void executeTask()override{cout 为了正义先将草帽一伙一网打尽 endl;} }; //船类 /*不论是海军还是海贼在大海上航行都需要船虽然他们驾驶的船只不同 但是有很多属性还是一致的所以我们可以先定义一个船的抽象类*/ class AbstructShip { public:AbstructShip(AbstractTeam* team) :m_team(team) {} //团队船void showTeam(){m_team-show();m_team-executeTask();}virtual string getName() 0;virtual void feature() 0; //纯虚函数描述船的特点在不同的子类中都需要重写virtual~AbstructShip() {} protected:AbstractTeam* m_team nullptr; //这里将团队和船绑定在一起了 }; //梅丽号 class Merry :public AbstructShip { public:using AbstructShip::AbstructShip;string getName() override{return string(前进梅丽号);}void feature()override{cout getName() --船首为羊头在司法岛化身船精灵舍己救下草帽一伙 endl;} }; //海军无敌战舰 class HaiJunJian :public AbstructShip { public:using AbstructShip::AbstructShip;string getName()override{return string(无敌海军号);}void feature() override{cout getName() -- 船底由海楼石建造, 可以穿过无风带的巨大炮舰! endl;} }; int main() {//草帽海贼团CaoMaoTeam* caomao new CaoMaoTeam(草帽海贼团);Person* luffy new Person(路飞, 船长, 橡胶果实能力者, 30亿贝里, 爱吃肉);Person* zoro new Person(索隆, 剑士, 三刀流, 11亿1100万贝里, 路痴);Person* sanji new Person(山治, 厨师, 隐形黑, 10亿3200万贝里, 好色);Person* nami new Person(娜美, 航海士, 天候棒宙斯, 3亿6600万贝里, 喜欢钱);caomao-addMember(luffy);caomao-addMember(zoro);caomao-addMember(sanji);caomao-addMember(nami);Merry* sunny new Merry(caomao);sunny-feature();sunny-showTeam();//斯摩格SmokeTeam* smoke new SmokeTeam(斯摩格海军团);Person* smoker new Person(斯摩格, 中将, 冒烟果实能力者, , 爱吃烟熏鸡肉);Person* dasiqi new Person(达斯琪, 大佐, 一刀流, , 近视);smoke-addMember(smoker);smoke-addMember(dasiqi);HaiJunJian* ship new HaiJunJian(smoke);ship-feature();ship-showTeam();delete caomao;delete sunny;delete smoke;delete ship;return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做自己个人网站南宁网站推广工具

转载公众号 | AI机器学习与知识图谱本文介绍六篇有关知识图谱预训练的优秀论文,大致上可分为两类,生成学习模型和对比学习模型。其中GPT-GNN模型是生成学习模型,模型灵感来源于自然语言处理中的GPT模型;GCC,GraphCL&am…

大连网站关键词排名西安公关公司

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s "cbaebabacd", p "…

一个返利网站建设流程网站可以做参考文献吗

题目描述(1) 1662. 检查两个字符串数组是否相等 . - 力扣(LeetCode) 给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。 数组表示的字符串…

海外网站服务器下载西宁做网站君博解决

我们知道存储器都是有多个芯片组合而成的,必然涉及到片选,因此我们将地址分开看 前面的一部分,是片选,也就是选中某个芯片(使用译码器,2-4译码器就是2位地址可以选择4个芯片)后面的部分&#x…

网站运营与管理的对策百度seo快速排名优化服务

本文介绍如何在Qt中组件的添加、删除或更新。 概述 有时安装完qt后发现当前的组件需要进一步调整,这时就需要进一步操作安装的文件。 QT的组件管理软件并没有在开始菜单或者桌面添加快捷方式(5.9版本),也没有在代码编辑界面设置相关的选项,藏的比较深。 操作步骤 找到…

网上交易平台网站建设公司韶关专业网站建设教程

https://www.zachstronaut.com/posts/2009/02/09/careful-with-php-empty.html转载于:https://www.cnblogs.com/qinqiu/p/9606348.html

朝阳网站seo博客做网站

从上面可以看出DM9000的地址总线就一根,它不像CS8900那样地址总线和数据总线都齐全。而这里只有一根地址线(CMD),16跟数据线,所以可以确定位宽为16位,而地址线为什么只有一根,这是DM9000决定的,看手册可以知…

网站开发语言数据库有几种室内设计效果图马克笔

Java 与JNI 内存管理是怎样的想要弄清楚Java与JNI的内存管理的关系,首先要弄清楚JVM的内存模型JVM内存模型.png其中本地方法栈就是运行时调用native 方法的数据保存区。本地方法栈的大小可以设置成固定的或者是动态扩展。Java中的内存泄露JAVA 编程中的内存泄漏&…

自助健站淄博周村专业网站建设公司

前言 本文是该专栏的第39篇,后面会持续分享python的各种干货知识,值得关注。 在本专栏之前,有详细介绍使用python增加b站视频的播放量方法,感兴趣的同学可往前翻阅《Python-增加b站视频播放量》。而本文,笔者再来单独的详细介绍,通过python来获取b站视频的弹幕内容。如下…

织梦怎么做门户网站2023年专升本最新政策

原标题:空开D/C是什么意思?终于有人把它说清楚了!空气开关是每个人家里必用的东西,但是你到五金店一看,大大小小的开关插座多了去,让人眼花缭乱。怎么选呢?空开有各种字母型号,这些字…

网站建设初步认识的实训体会北京网络推广有哪些公司

其实按理说远程工具例如向日葵、Todesk如果是计算机专业、计算机从业者是必须知道的一个东西,但是在大学期间身边知道的人是少之又少的。 向日葵、Todesk工具的优势:方便、快捷、速度快等等我就不过多阐述了 PS:现在我就是在学校用远程写这篇 很多时候…

wordpress上传错误500站长工具seo综合查询

创建Service应用,是一个服务端开发的必会技能。前言说到服务端应用,最常见的就是API服务。除此之外,还有一类应用,比方一个Socket的服务器。这类型的应用,本身没有Web层,当然也不属于API服务。通常大家会怎…

产品宣传类网站设计注意网页开发软件有哪些

在经过Web3项目一实战之一到Web3项目实战之六的过程中,您已然擢升为一个拥有Web3项目开发实战的Web3开发工程师了,当然咯,您也可以很自豪地对自己发自内心的欢呼,“我特么,现在也算是一个区块链开发工程师了!” 既然有了Web3项目一实战的经验,那么,对于使用脚手架来创建…

网站游戏网站怎么建设效果图制作合同范本

现在许多项目都使用jwt来实现用户登录和数据权限,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才…

四川手机网站建设网站关键词在哪里做

量化大型语言模型(llm)是减少这些模型大小和加快推理速度的最流行的方法。在这些技术中,GPTQ在gpu上提供了惊人的性能。与非量化模型相比,该方法使用的VRAM几乎减少了3倍,同时提供了相似的精度水平和更快的生成速度。 ExLlamaV2是一个旨在从…

vs做网站网页美工图片

更多原创文章可关注微信公众号:地下城勤帝 查看大家好,我是勤帝,我只写大家能看懂的文章搬砖市场的角色更新了一些,装备都有所不同,今天我给大家一个可以通用的装备,这套装备虽然成型不快,但是…

怎么建设课程的网站两个网站php 一个空间

自我介绍 1.自我介绍2.快手实习难点:上锁函数 防抖函数结合亮点:技术选型 Uber实习auth0 原理 1.自我介绍 (乖巧,听话的声音) 好的,面试官你好。我是一名前端开发工程师,叫李小菲,…

做网络销售保温材料用什么网站好seo免费诊断联系方式

大数量分页,使用存储过程。 这个存储过程是网络上考的,呵呵。我把它给贴出来,希望原作者别砸我砖头。。。。。 ALTER PROCEDURE SP_Pagination/**//****************************************************************** 千万数量级分页存…

网站开发流程传智播客怎么模板建站

开源项目地址:https://gitee.com/gblfy/tx-position-check-in 关于微信小程序集成腾讯地图详情,可以参考:https://blog.csdn.net/weixin_40816738/article/details/122519497

建设网站需要花费多少钱企业网络营销的意义

1 package timetask.demo;2 3 import java.text.SimpleDateFormat;4 import java.util.Date;5 import java.util.Timer;6 import java.util.TimerTask;7 8 /*9 * time类 是一个线程实施,可以用来实现在某一个时间或者某一个时间段后安排某一个任务执行一次或者定期…