栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++抽象类、接口(坚持更新c++内容的第15天)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++抽象类、接口(坚持更新c++内容的第15天)

概念

1. 抽象类是特殊的类,不能被实例化(定义了纯虚函数的类称为抽象类),除此之外,具有类的其他特性。重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。

接口是引用类型的,类似于类,和抽象类的相似之处有三点:

1. 不能实例化;

2. 包含未实现的方法声明;

3. 派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法,还包括其它成员);

抽象类、接口的设计目的区别

接口的设计目的,是对类的行为进行约束,也就是提供一种机制,可以强制要求不同的类具有相同的行为。它只约束了行为的有无,但不对如何实现行为进行限制。

而抽象类的设计目的,是代码复用。当不同的类具有某些相同的行为(记为行为集合A),且其中一部分行为的实现方式一致时(记为B),可以让这些类都派生于一个抽象类。在这个抽象类中实现了B,避免让所有的子类来实现B,这就达到了代码复用的目的。而A减B的部分,留给各个子类自己实现。

抽象类、接口的区别

区别1:抽象类体现继承关系,一个类只能单继承。

接口体现实现关系,一个类可以多实现。

区别2:抽象类是继承,是"is a"关系。

接口是实现,是"like a"关系。

区别3:抽象类可以定义非抽象方法,供子类直接使用。

             接口的方法都是抽象,接口的成员都有固定修饰符。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号