C ++促进了类定义和类实现之间的分离,但没有JAVA

我有一个功课,我需要根据GRASP评估哪种方法更好。

我发现这个链接回答了我的一部分问题: 为什么在C ++中有头文件和.cpp文件?

但是,我想知道的是,与JAVA相比,c ++的工作方式对于可扩展性和代码重用是否更好,因为所有内容都是在联合文件中定义的?

谢谢您的帮助 !

编辑:为了确保这不是一个争论,我想知道为什么JAVA在C中不喜欢并促进类定义和类实现之间的分离。 这种工作方式或程序方式有什么优势吗?

这个问题已移至https://softwareengineering.stackexchange.com/questions/118574/does-java-promote-a-separation-between-class-definitions-and-implementations-as

java中的等价物是声明类接口 ,它实现了无实现声明的目的。 实现与接口的绑定确实在运行时发生

从可扩展性的角度来看,两者完全相同。 两种语言之间的差异不在于可扩展性function本身,而在于它们的性能方法。 Java和C#的语法更加统一,更简洁,而某些C ++对初学者来说可能是一种痛苦。 C ++通过模板广泛关注编译时类型绑定,而java和C#传统上更侧重于运行时绑定和reflection。 这种差异在过去几年已经有所缓和,尽管对于某些应用领域的利基(主要是高性能计算),像垃圾收集这样的好语言function仍然是Java和C#等高门槛的进入门槛。