社区
C++ 语言
帖子详情
请大家帮我来解释一下接口类,虚基类,抽象类三着之间的相同点与区别
tlq2000
2003-10-16 04:30:24
我以前搞过c++,前不久有在搞java开发,现在回头发现我的对接口类,虚基类,抽象类已经搞混淆了,希望那位前辈能指点一下。
...全文
103
7
打赏
收藏
请大家帮我来解释一下接口类,虚基类,抽象类三着之间的相同点与区别
我以前搞过c++,前不久有在搞java开发,现在回头发现我的对接口类,虚基类,抽象类已经搞混淆了,希望那位前辈能指点一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Caoyu015
2003-10-17
打赏
举报
回复
补充一点: 一般接口类不含有成员数据。理由很简单: 避免被数据类型给捆绑住,例如一个二叉树的类底层的实现即可以是链表也可以是数组。
qiuzhang
2003-10-16
打赏
举报
回复
纯虚函数没有具体的实现代码,其代码要由其子类来实现。
包含纯虚函数的类为抽象类,抽象类是不能直接生成对象的,抽象类用于被其它类继承。
Caoyu015
2003-10-16
打赏
举报
回复
袋子用来装书叫书包, 用来装垃圾叫垃圾袋。
晨星
2003-10-16
打赏
举报
回复
抽象类应该是指纯虚基类,不过我也不确定。
晨星
2003-10-16
打赏
举报
回复
差不多吧。
Wolf0403
2003-10-16
打赏
举报
回复
java 的 interface 就类似 c++ 的 ABC,但是没有内存管理方面的麻烦,如是。
sharkhuang
2003-10-16
打赏
举报
回复
java不能像C++那样重多个类继承!所以JAVA就实现了接口类,来弥补这个问题!而且不会有2异性!
C#类、接口、虚方法和抽象方法-
抽象类
和接口的
相同点
和
区别
(1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 (2)
抽象类
不能被实例化 (3)
抽象类
可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为
抽象类
(4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们。
虚基类
、虚函数、 纯虚函数和
抽象类
虚基类
在《多继承》中讲过的例子中,由类A,类B1和类B2以及类C组成了类继承的层次结构。在该结构中,类C的对象将包含两个类A的子对象。由于类A是派生类C两条继承路径上的一个公共基类,那么这个公共基类将在派生类的对象中产生多个基类子对象。如果要想使这个公共基类在派生类中只产生一个基类子对象,则必须将这个基类设定为
虚基类
。
java锁机制基类AbstractQueuedSynchronizer从设计到实现到应用
从并发概念、场景分析出发,依次引出锁、等待队列等概念,直至分析清楚java锁机制实现的原理。并以java锁机制实现基类AbstractQueuedSynchronizer的实现为例,从类(核心属性、方法)设计思路,到对关键代码做注释分析,再到以流程图方式直观解释流程;最后介绍了AbstractQueuedSynchronizer的应用,即如何用它来实现并发控制,以及如何自定义并发组件。
虚函数与
虚基类
1.虚函数是用于多态中virtual修饰父类函数,确保父类指针调用子类对象时,运行子类函数的。 2.纯虚函数是用来定义接口的,也就是基类中定义一个纯虚函数,基类不用实现,让子类来实现。 3.
虚基类
是用来在多继承中,如果父类继承自同一个父类,就只实例化一个父类(说的有点绕,就是只实例化一个爷爷的意思=。=)。 为了记住以上
区别
,首先,需要明白为什么要引入虚函数,虚函数的作用是什么,有什
c#中
抽象类
(abstract)和接口(interface)的
相同点
与
区别
相同点
: 1、都可以被继承 2、都不能被实例化 3、都可以包含方法声明 4、派生类必须实现未实现的方法
区别
: 1、抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。 2、
抽象类
是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。” 3、接口可以被多重实现,
抽象类
只能被单一继承 4、
抽象类
更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中 5、
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章