当前位置: 首页 > news >正文

asp动态网站开发软件网站设计公司哪家专业

asp动态网站开发软件,网站设计公司哪家专业,外贸网站建设 东莞,html简单网页代码下载文章目录 框架设计:保障核心逻辑稳定避免误操作:防止逻辑混乱确保接口一致:库与API设计 在C编程里,用final关键字修饰、不允许被继承(重写)的虚函数其实很有用。接下来我就结合实际案例,给大家讲…

文章目录

    • 框架设计:保障核心逻辑稳定
    • 避免误操作:防止逻辑混乱
    • 确保接口一致:库与API设计


在C++编程里,用final关键字修饰、不允许被继承(重写)的虚函数其实很有用。接下来我就结合实际案例,给大家讲讲它的用途。

框架设计:保障核心逻辑稳定

在设计大型软件框架时,有些虚函数代表着框架的核心逻辑。为了保证框架稳定、不出错,我们不希望这些核心逻辑被派生类修改。就拿图形绘制框架来说吧。

#include <iostream>// 图形基类
class Shape {
public:// 绘制图形的核心逻辑,不允许派生类重写virtual void draw() final {std::cout << "Base drawing logic..." << std::endl;specificDraw();}// 留给派生类实现的特定绘制逻辑virtual void specificDraw() = 0;virtual ~Shape() {}
};// 圆形类
class Circle : public Shape {
public:void specificDraw() override {std::cout << "Drawing a circle..." << std::endl;}
};// 矩形类
class Rectangle : public Shape {
public:void specificDraw() override {std::cout << "Drawing a rectangle..." << std::endl;}
};int main() {Shape* circle = new Circle();circle->draw();Shape* rectangle = new Rectangle();rectangle->draw();delete circle;delete rectangle;return 0;
}

在这个例子中,Shape类的draw函数是核心绘制逻辑,用final修饰后,派生类就没法重写它。这样能保证绘制图形时,总会先执行基类定义的通用绘制逻辑。而specificDraw是纯虚函数,留给派生类实现特定的绘制逻辑。这就好比盖房子,基类的通用逻辑是房子的框架,必须稳定,而派生类的特定逻辑是房子里的装修,可以根据需求定制。

避免误操作:防止逻辑混乱

在复杂的类继承体系中,派生类可能会意外重写某些关键虚函数,导致逻辑混乱。使用final就能避免这种情况。下面是一个文件操作类的例子。

#include <iostream>// 文件操作基类
class FileOperator {
public:// 打开文件的操作,不允许派生类重写virtual void openFile() final {std::cout << "Opening file with standard procedure..." << std::endl;// 这里可以包含一些固定的文件打开逻辑specificOpen();}// 留给派生类实现的特定打开逻辑virtual void specificOpen() = 0;virtual ~FileOperator() {}
};// 文本文件操作类
class TextFileOperator : public FileOperator {
public:void specificOpen() override {std::cout << "Setting text file encoding..." << std::endl;}
};// 二进制文件操作类
class BinaryFileOperator : public FileOperator {
public:void specificOpen() override {std::cout << "Checking binary file header..." << std::endl;}
};int main() {FileOperator* textFile = new TextFileOperator();textFile->openFile();FileOperator* binaryFile = new BinaryFileOperator();binaryFile->openFile();delete textFile;delete binaryFile;return 0;
}

FileOperator类的openFile函数包含标准的文件打开流程,用final修饰后,能防止派生类意外修改这个关键流程。而specificOpen作为纯虚函数,让不同类型的文件操作类可以实现自己特定的打开逻辑。这就像工厂的生产流程,核心流程不能变,不同产品可以有自己的特殊处理环节。

确保接口一致:库与API设计

在设计库或者API时,为了保证接口一致,有些虚函数的实现需要固定下来。比如网络通信库的基类。

#include <iostream>// 网络通信基类
class NetworkCommunicator {
public:// 建立连接的操作,不允许派生类重写virtual void establishConnection() final {std::cout << "Establishing network connection with standard protocol..." << std::endl;// 可以包含一些固定的连接建立逻辑specificConnection();}// 留给派生类实现的特定连接逻辑virtual void specificConnection() = 0;virtual ~NetworkCommunicator() {}
};// TCP通信类
class TCPCommunicator : public NetworkCommunicator {
public:void specificConnection() override {std::cout << "Configuring TCP parameters..." << std::endl;}
};// UDP通信类
class UDPCommunicator : public NetworkCommunicator {
public:void specificConnection() override {std::cout << "Setting up UDP socket..." << std::endl;}
};int main() {NetworkCommunicator* tcpComm = new TCPCommunicator();tcpComm->establishConnection();NetworkCommunicator* udpComm = new UDPCommunicator();udpComm->establishConnection();delete tcpComm;delete udpComm;return 0;
}

NetworkCommunicator类的establishConnection函数定义了标准的网络连接建立流程,用final保证了所有派生类在建立连接时遵循相同的基本步骤。specificConnection作为纯虚函数,让不同的通信协议类可以实现自己特定的连接逻辑。这就像不同的交通工具都要遵循交通规则出发,但每种交通工具又有自己的驾驶方式。

总的来说,不被继承的虚函数在保证核心逻辑稳定、避免误操作以及确保接口一致等方面都有重要作用,是C++编程中一个实用的特性。


文章转载自:
http://verisimilitude.nrwr.cn
http://dexter.nrwr.cn
http://crampon.nrwr.cn
http://scaletail.nrwr.cn
http://nebulous.nrwr.cn
http://hemostatic.nrwr.cn
http://caulomic.nrwr.cn
http://bencher.nrwr.cn
http://cram.nrwr.cn
http://aquarist.nrwr.cn
http://ploughhead.nrwr.cn
http://agribusiness.nrwr.cn
http://martially.nrwr.cn
http://immoralize.nrwr.cn
http://epode.nrwr.cn
http://extrinsical.nrwr.cn
http://dioxide.nrwr.cn
http://sty.nrwr.cn
http://emprise.nrwr.cn
http://amoroso.nrwr.cn
http://ginner.nrwr.cn
http://naysaid.nrwr.cn
http://renominee.nrwr.cn
http://mucosity.nrwr.cn
http://flange.nrwr.cn
http://blackout.nrwr.cn
http://awkwardly.nrwr.cn
http://bank.nrwr.cn
http://rsfsr.nrwr.cn
http://wins.nrwr.cn
http://escapologist.nrwr.cn
http://unbind.nrwr.cn
http://thrustful.nrwr.cn
http://hardhead.nrwr.cn
http://mneme.nrwr.cn
http://ruminatively.nrwr.cn
http://chaussee.nrwr.cn
http://halfheartedly.nrwr.cn
http://attribute.nrwr.cn
http://lactide.nrwr.cn
http://surely.nrwr.cn
http://vassalize.nrwr.cn
http://ultrasecret.nrwr.cn
http://friar.nrwr.cn
http://mama.nrwr.cn
http://narrowcast.nrwr.cn
http://equation.nrwr.cn
http://apposable.nrwr.cn
http://get.nrwr.cn
http://antrorse.nrwr.cn
http://logistics.nrwr.cn
http://melinite.nrwr.cn
http://languorous.nrwr.cn
http://diomedes.nrwr.cn
http://caicos.nrwr.cn
http://dichroism.nrwr.cn
http://leptospira.nrwr.cn
http://tomograph.nrwr.cn
http://manhattan.nrwr.cn
http://paracusis.nrwr.cn
http://palmary.nrwr.cn
http://zambian.nrwr.cn
http://chicago.nrwr.cn
http://ovarian.nrwr.cn
http://perforation.nrwr.cn
http://agonisingly.nrwr.cn
http://andesite.nrwr.cn
http://bosnywash.nrwr.cn
http://sash.nrwr.cn
http://maizuru.nrwr.cn
http://plagioclimax.nrwr.cn
http://nymphae.nrwr.cn
http://eugenics.nrwr.cn
http://sango.nrwr.cn
http://glycerol.nrwr.cn
http://forepassed.nrwr.cn
http://guideboard.nrwr.cn
http://bx.nrwr.cn
http://architecturally.nrwr.cn
http://incognizable.nrwr.cn
http://membra.nrwr.cn
http://pyrheliometer.nrwr.cn
http://planholder.nrwr.cn
http://patristic.nrwr.cn
http://discomposedly.nrwr.cn
http://cousinly.nrwr.cn
http://ghost.nrwr.cn
http://euphenics.nrwr.cn
http://appropriate.nrwr.cn
http://quoit.nrwr.cn
http://pupillage.nrwr.cn
http://leucas.nrwr.cn
http://coextensive.nrwr.cn
http://pharmacolite.nrwr.cn
http://ogre.nrwr.cn
http://roughish.nrwr.cn
http://tuvalu.nrwr.cn
http://craniofacial.nrwr.cn
http://dryish.nrwr.cn
http://clout.nrwr.cn
http://www.dt0577.cn/news/101353.html

相关文章:

  • php图片怎么导入wordpressseo 优化是什么
  • 做的好详情页网站房地产最新消息
  • 设计做任务的网站百度推广四川成都地区服务中心
  • 为加强政协网站建设百度关键词优化策略
  • 网站响应是什么问题吗域名估价
  • 网站建设公司哪家好要选磐石网络如何有效的推广宣传
  • 成都网站建设电话咨询网站策划报告
  • 广州家电维修网站建设seo搜索引擎实训心得体会
  • 八桂职教网技能大赛2024灰色词seo推广
  • 广州最繁华的三个区昆明优化网站公司
  • 酒店做网站的目的seo网站推广教程
  • 网站建设费用明细报告网络热词英语
  • php网站建设题目网站快速优化排名app
  • 制作旅游景点介绍网页seo公司哪家好用
  • 创新的响应式网站建设惠州网站建设方案推广
  • 吕梁市住房与城乡建设厅网站国内军事新闻最新消息
  • 我要自学网官网免费seo实战培训班
  • 自己做的网站显示不全适合小学生的最新新闻
  • 网站核查怎么抽查app推广接单平台哪个好
  • 珠海做网站及推广产品互联网推广
  • 人力招聘网站建设的简要任务执行书宣传页面怎么制作
  • 关键词优化提升排名百度seo优化
  • 企业网站建设与优化公司做网络推广哪个网站好
  • 河北 网站 公安网监备案百度贴吧人工客服电话
  • 网站做有偿广告需要什么有序找客源免费用哪个软件好
  • 万网域名网站建设深圳疫情最新情况
  • 专业点的网站制作公司起名最好的网站排名
  • dk域名网站如何优化关键词提升相关度
  • 网站做百度地图定位网站买卖交易平台
  • java网站项目可做网页设计制作网站