C++中的“继承与接口”与Java中的“继承与接口”的比较

来源:互联网 发布:node.js使用教程 编辑:程序博客网 时间:2024/06/05 03:25

 

 

C++ 

Java

虚函数

普通函数(普通方法)

纯虚函数

抽象函数(抽象方法)

抽象类

抽象类

抽象类

接口

 

 

 

这是网上有的人的总结,比较正确。表中每一行之间表示对等关系,我就这四条关系逐一解释一下,仅供参考。

 

 

(1)C++虚函数 <==> Java普通函数

 

 C++中的虚函数有函数体,可以直接使用,也可以被其派生类覆盖(重写)后使用,这一点在Java中普通函数就能实现。

 

 

(2)C++纯虚函数 <==> Java抽象函数

 

 C++中的纯虚函数和Java中的抽象函数都是只声明而没定义的函数,都不能直接使用,只有在它们的子类中定义了后才能使用。

 

 

 

(3)C++抽象类 <==> Java抽象类

 

 C++抽象类是其中定义了纯虚函数的类,它和Java抽象类一样都是用于继承而不能直接使用。

 

 

(4)C++抽象类 <==> Java接口

 

 Java中的接口相当于一个更“纯”的C++抽象类。





原创粉丝点击