我有一个作业,我需要根据GRASP评估哪种方法更好。
我发现这个链接回答了我的部分问题:为什么在c++中有头文件和。cpp文件?
然而,我想知道的是c++的工作方式在可扩展性和代码重用方面比JAVA好多少,因为一切都定义在一个联合文件中?
谢谢你的帮助!
编辑:只是为了确保这不是一个争论,我想知道为什么JAVA不像C那样做,并且促进了类定义和类实现之间的分离。这种工作方式有什么优点吗?
此问题已移至https://softwareengineering.stackexchange.com/questions/118574/does-java-promote-a-separation-between-class-definitions-and-implementations-as
在Java中是等价的,您声明类接口,它确实服务于无实现声明的目的。实现到接口的绑定确实发生在运行时
在可扩展性的意义上两者是完全等价的。两种语言之间的区别不在于可扩展性本身,而在于它们的性能方法。Java和c#在语法上更统一,更简洁,而某些c++对于初学者来说可能是一种痛苦的阅读。c++广泛关注通过模板进行的编译时类型绑定,而java和c#传统上更关注运行时绑定和反射。这种差异在过去几年已经有所缓和,尽管对于某些应用领域的利基(主要是高性能计算)来说,像垃圾收集这样的优秀语言特性仍然是Java和c#