asm*_*ier 13 c++ java interface header-files
我目前正在处理的java代码通常具有类似的结构
文件Controller.java:
interface Controller {...}
Run Code Online (Sandbox Code Playgroud)
文件ControllerImpl.java:
class ControllerImpl implements Controller {...}
Run Code Online (Sandbox Code Playgroud)
但是对于每个接口,只有一个实现.这与在C/C++中使用头文件不同,我将代码拆分成文件
Controller.hpp
Controller.cpp
Run Code Online (Sandbox Code Playgroud)
据我所知,已经引入了C/C++中的头文件来帮助编译器,这在Java中是不再需要的.头文件也应该有助于代码的可读性,但是具有折叠和轮廓视图的现代IDE这也不再是必需的.
那么为什么人们通过对接口编程再次通过后门引入Java头文件呢?
不可以.在C++中,文件(标题)与类不同.
像Java一样对接口进行编程也可以通过对抽象基类进行编程在C++中完成.
但是,"接口"的Java术语非常有限.基本上,任何函数声明都是一个接口:
void call_me(int times);
Run Code Online (Sandbox Code Playgroud)
当然,类和其他类型.
在C++中,您可以在标题中对这些内容进行分组,因此界面可以包含一个标题.但是,它可能也包含多个标头.