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

新网站建设的工作总结域名反查网站

新网站建设的工作总结,域名反查网站,wordpress hierarchy,家乡网页制作模板接口类 和 抽象类,确实有很多人容易混淆,今天我就一次性帮你彻底搞懂这两个概念,以及为什么要继承! 🌳 1️⃣ 什么是接口类?什么是抽象类? 分类接口类 (Interface)抽象类 (Abstract Class)定义…

接口类抽象类,确实有很多人容易混淆,今天我就一次性帮你彻底搞懂这两个概念,以及为什么要继承


🌳 1️⃣ 什么是接口类?什么是抽象类?

分类接口类 (Interface)抽象类 (Abstract Class)
定义只包含纯虚函数(没有实现)至少包含一个纯虚函数,可以有部分实现
目的只定义规范,不实现逻辑定义规范 + 可以提供部分实现
成员变量没有(通常不应该有)可以有成员变量和普通成员函数
典型例子class IShape { virtual void draw() = 0; };class Shape { virtual void draw() = 0; void move() {}; };
是否必须继承✅ 必须继承并实现✅ 必须继承并实现纯虚函数
特点类似于纯接口类似于半成品,可以扩展

举例 1:接口类

// 接口类:完全定义规范,不写实现
class IShape {
public:virtual void draw() = 0; // 纯虚函数virtual ~IShape() {}     // 虚析构
};

必须继承它才能用:

class Circle : public IShape {
public:void draw() override { qDebug() << "Draw Circle"; }
};

举例 2:抽象类

class Shape {
public:virtual void draw() = 0; // 抽象函数void move() { qDebug() << "Move shape"; } // 已实现
};

抽象类可以提供一部分公共实现(如 move()),子类继承后可以直接用。


🏗️ 2️⃣ 为什么必须继承它们?

因为:

  • 接口类抽象类只是“模板”/“规范”,没有完整实现,不能直接创建对象

  • 编译器禁止实例化(new)它们。

举例:

IShape shape; // ❌ 错误,不能创建接口类对象
Shape shape;  // ❌ 错误,不能创建抽象类对象

你必须 继承 + 实现纯虚函数,才能使用:

class Circle : public IShape {void draw() override { qDebug() << "Draw Circle"; }
};Circle c; // ✅ OK

🧭 3️⃣ 接口类 vs. 抽象类 - 什么时候用?

你要做什么?选哪个?举例
定义一个“规范”,子类必须遵循,且不需要公共代码接口类IDrawable, ISerializable
定义一个“规范”,但有些通用代码可以共享抽象类QWidget, QThread(部分实现)
已有完整实现,不需要额外规范具体类QTimer, QList

🏆 4️⃣ 总结

接口类 = 纯虚函数集合,只定义规范,不提供实现。
抽象类 = 至少有一个纯虚函数,可以提供部分实现
✅ 使用它们时,必须 继承并实现所有纯虚函数 才能创建对象。
✅ 目的是:面向接口编程,让代码更灵活、可扩展。


🎓 5️⃣ 举个生活中的例子

角色接口类抽象类具体类
概念会飞的东西(不能直接用)飞行工具(有一些基本结构,但不能直接买)一架飞机(可以买来用)
类比IFlyableAircraftBoeing737
特点只定义规范有些实现全部实现
代码virtual void fly() = 0;virtual void fly() = 0; void refuel() {}void fly() override {}

如果你有实际代码场景(比如某个类不知道该不该继承),发给我,我们一起看看! 🚀


文章转载自:

http://6GYiWuaG.dzdtj.cn
http://fGZM3EHI.dzdtj.cn
http://s2R5y5GN.dzdtj.cn
http://RTFxuCa1.dzdtj.cn
http://uUH4cPmj.dzdtj.cn
http://odAgiW2q.dzdtj.cn
http://8vSJ0D1B.dzdtj.cn
http://kOGcItBX.dzdtj.cn
http://5wp8wgUl.dzdtj.cn
http://QC9QOxeP.dzdtj.cn
http://bImyGKHD.dzdtj.cn
http://WwwQDxaH.dzdtj.cn
http://PMmarPjG.dzdtj.cn
http://HjCyCdjo.dzdtj.cn
http://fC5qVXbG.dzdtj.cn
http://DbuP2Luv.dzdtj.cn
http://qXM4Ypbu.dzdtj.cn
http://Uhnff8HU.dzdtj.cn
http://focDfPkX.dzdtj.cn
http://us2LOoKr.dzdtj.cn
http://jP1d8JeE.dzdtj.cn
http://g3m5WLG1.dzdtj.cn
http://4OWVgJMk.dzdtj.cn
http://IsssbKgY.dzdtj.cn
http://eikmyYXW.dzdtj.cn
http://4te4mDfu.dzdtj.cn
http://VmdkENPu.dzdtj.cn
http://RKTmWg9a.dzdtj.cn
http://wTNTpHur.dzdtj.cn
http://gMPApmBz.dzdtj.cn
http://www.dtcms.com/wzjs/714505.html

相关文章:

  • 免费网站建设加盟wordpress网站搭建教程视频
  • 百度在线做网站能源建设投资有限公司网站
  • python进行网站开发优帮云首页推荐
  • 国外做美食的网站有哪些网页设计与制作对于大数据专业
  • 制作视频的免费软件优化大师专业版
  • 东莞网站推广宣传window主机用wordpress
  • 网站搭建好了怎么上到服务器手机购买网站源码
  • 如何上传自己做的网站杭州建站公司
  • 服装门户系统网站初中生怎么做网站
  • 连云港网站优化方案北京延庆城乡建设部网站首页
  • 网站素材图wordpress mould
  • js网站下拉置顶代码网络一站式服务平台
  • 如何在手机做网站网站初期建设的成本来源
  • phpcms建设网站北京网站建设大概多少钱
  • 做网站需要用什么系统百度seo不正当竞争秒收
  • 手机一元云购网站建设制作网页模板适应不同分辨率
  • 外贸公司网站空间网络推广有几种方法
  • 利用微博网站做淘客免费个人名片生成器
  • 石嘴山市建设局网站公司建网站多少钱一个
  • 爱做的小说网站吗wordpress页面难看
  • 天津网站推广有哪些郑州网站建设方案
  • 广西南宁网站建设微信平台如何开发
  • 免费的app下载网站北京网站优化seo
  • 网站建设管理考核办法徐州网站推广公司
  • 教学网站开发源码设计平面图的软件
  • 摄影网站源代码云电脑免费体验
  • 网站没服务器行吗惠东网络建站公司
  • 网站建设微信商城运营wordpress变化
  • 网站建站公司迅驰互联网站建设网络推广怎么样
  • 专注做一家男生最爱的网站wordpress变为中文