【C++】多态 ⑬ ( 多继承中应用 “ 抽象类 “

您所在的位置:网站首页 接口和抽象类继承 【C++】多态 ⑬ ( 多继承中应用 “ 抽象类 “

【C++】多态 ⑬ ( 多继承中应用 “ 抽象类 “

2024-07-13 09:40:04| 来源: 网络整理| 查看: 265

文章目录 一、多继承中应用 " 抽象类 "1、接口和抽象类2、编程语言对接口和多继承的支持3、C++ 语言中接口实现 二、代码示例 - 多继承中应用 " 抽象类 "

一、多继承中应用 " 抽象类 " 1、接口和抽象类

接口 Interface 和 抽象类 AbstractClass 都是 面向对象编程 的重要概念 , 借助它们可以定义一个模板 , 令其他类 实现接口 或 继承抽象类 模板 , 可实现多态效果 , 这是面向对象最重要的操作 ;

Java 语言 中 , 有 明确的 接口 Interface 和 抽象类 AbstractClass 概念 ;

C++ 语言 中 , 没有 接口 Interface 概念 , 只有 抽象类 AbstractClass 概念 ;

2、编程语言对接口和多继承的支持

大部分 面向对象语言 不支持 多继承 , 即使是 C++ 语言 支持 多继承 , 也不推荐用户使用多继承 , 因为多继承会造成二义性等一系列问题 , 导致程序难以维护 ;

大部分 面向对象语言 支持 接口概念 , 一个类可以继承多个接口 ;

3、C++ 语言中接口实现

C++ 语言中 , 没有接口概念 , 这里使用 " 纯虚函数 " 实现接口 ;

接口类特点 : 接口类中 只有 函数原型 , 没有成员变量 , 函数原型 指的是 函数只有 返回值 函数名 和 参数列表 , 没有函数体 ;

C++ 中的 接口类 有如下要求 :

类中只能定义纯虚函数 , 该类是一个抽象类 ;类中不能定义除纯虚函数之外的其它成员 , 如 普通函数 , 成员变量 ;

下面的类就是 只 定义了 纯虚函数 的 抽象类 , 可以当做接口使用 ;

// 定义了纯虚函数的类就是抽象类 // 也可以用作接口 class Interface { public: // 纯虚函数 virtual void pureVirtualFunction() = 0; }; 二、代码示例 - 多继承中应用 " 抽象类 "

在 C++ 中 , 使用只定义了 纯虚函数 的 抽象类 , 作为接口 ;

借助 C++ 多继承的特性 , 继承多个 " 只定义了 纯虚函数 的 抽象类 " , 也就是接口 ;

代码示例 :

#include "iostream" using namespace std; // 定义了纯虚函数的类就是抽象类 // 这里使用抽象类作为接口使用 class Interface1 { public: // 纯虚函数 virtual int add(int a, int b) = 0; }; // 定义了纯虚函数的类就是抽象类 // 这里使用抽象类作为接口使用 class Interface2 { public: // 纯虚函数 virtual int minus(int a, int b) = 0; }; // 派生类继承抽象类 class DerivedClass : public Interface1, public Interface2 { public: // 实现纯虚函数 int add(int a, int b) override { int ret = a + b; // 函数体 cout // 创建子类对象 , 通过子类调用接口方法 DerivedClass d; d.add(1, 2); d.minus(1, 2); // 将子类对象赋值给接口指针 , 通过接口指针调用接口方法 Interface1* i1 = &d; i1->add(1, 2); // 将子类对象赋值给接口指针 , 通过接口指针调用接口方法 Interface2* i2 = &d; i2->minus(1, 2); // 控制台暂停 , 按任意键继续向后执行 system("pause"); return 0; }

执行结果 : add 计算结果 : 3 minus 计算结果 : -1 add 计算结果 : 3 minus 计算结果 : -1 Press any key to continue . . .

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭