title: C++ promotes a separation between class definitions and class implementations but not JAVA
body: <p>I have a homework and I need to evaluate which approach is better according to GRASP.</p>
  
  <p>I found this link that answers part of my questioning: <a href="https://stackoverflow.com/questions/333889/in-c-why-have-header-files-and-cpp-files">Why have header files and .cpp files in C++?</a></p>
  
  <p>However, what I want to know is how much c++ way of working is better for extensibility and for code reuse than JAVA because everything is defined in a conjoint file ?</p>
  
  <p>Thanks for the help !</p>
  
  <p>Edit: Just to make sure that this is not a debate, I want to know why does JAVA does not do like in C and promotes the separation between class definitions and class implementations. Are there any advantages with that way of working or proceding ?</p>
  
  <p>This question was moved to <a href="https://softwareengineering.stackexchange.com/questions/118574/does-java-promote-a-separation-between-class-definitions-and-implementations-as">https://softwareengineering.stackexchange.com/questions/118574/does-java-promote-a-separation-between-class-definitions-and-implementations-as</a></p>