Java的接口和C++的虚类的相同和不同处?
3个回答
展开全部
c++虚类相当与java里面的抽象类,与接口的不同之处如下:
1、一个子类只能继承一个抽象类(虚类),但能实现百多个接口;
2、一个抽象类可以有构造方法,接口没有构造方法;
3、一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方度法体),接口中的方法都是抽象方法,不能有方法体,只有声明;
4、一个抽象类可以是public、private、protected、default,
接口只有public;
5、一个抽象类中的方法可以是public、private、protected、default,
接口中的方法只能是public和default.
相同之处:都不能实例化。
补充说明:接口是一类特殊的抽象类,是更抽象的抽象类,你可能这样理解。抽象类是一个不完整的类,接口只是定义回了一些功能。打个比方,用答抽象类和接口分别描述“猪”,抽象类就是在一般的类之前加abstrict,说:猪能用四肢跑,猪还能怎么怎么,接口的话只能说,猪会跑,用什么跑就是子类的事啦。
1、一个子类只能继承一个抽象类(虚类),但能实现百多个接口;
2、一个抽象类可以有构造方法,接口没有构造方法;
3、一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方度法体),接口中的方法都是抽象方法,不能有方法体,只有声明;
4、一个抽象类可以是public、private、protected、default,
接口只有public;
5、一个抽象类中的方法可以是public、private、protected、default,
接口中的方法只能是public和default.
相同之处:都不能实例化。
补充说明:接口是一类特殊的抽象类,是更抽象的抽象类,你可能这样理解。抽象类是一个不完整的类,接口只是定义回了一些功能。打个比方,用答抽象类和接口分别描述“猪”,抽象类就是在一般的类之前加abstrict,说:猪能用四肢跑,猪还能怎么怎么,接口的话只能说,猪会跑,用什么跑就是子类的事啦。
展开全部
java的接口是用来实现多重继承的,一般把一些比较通用的方法放在一个接口中,类继承了接口后对里面的方法进行实现,C++的虚类是指里面只要有一个虚函数就行,主要是为了子类实现多态性,具体还得自己搜索啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接口中只有函数的定义没有实现,C++中的虚类,可以有函数的实现,其中只要有一个函数为虚函数,该类就是虚类,而类中的其他成员函数可以为非虚函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询