C ++ promueve una separación entre las definiciones de clase y las implementaciones de clase, pero no JAVA [cerrado]

Tengo una tarea y necesito evaluar qué enfoque es mejor según GRASP.

Encontré este enlace que responde a parte de mis preguntas: ¿Por qué tener archivos de encabezado y archivos .cpp en C ++?

Sin embargo, lo que quiero saber es en qué medida la forma de trabajo de C ++ es mejor para la extensibilidad y para la reutilización del código que JAVA porque todo está definido en un archivo conjunto.

Gracias por la ayuda !

Editar: Solo para asegurarme de que esto no sea un debate, quiero saber por qué JAVA no funciona como en C y promueve la separación entre las definiciones de clase y las implementaciones de clase. ¿Tiene alguna ventaja esa forma de trabajar o de proceder?

Esta pregunta se movió a https://softwareengineering.stackexchange.com/questions/118574/does-java-promote-a-separation-between-class-definitions-and-implementations-as

preguntado el 08 de noviembre de 11 a las 16:11

esto debería haber sido movido a programmers.stackexchange.com -

1 Respuestas

el equivalente en java es que declaras interfaces de clase que sirve al propósito de una declaración sin implementación. El enlace de la implementación a la interfaz ocurre en tiempo de ejecución

en el sentido de extensibilidad, ambos son completamente equivalentes. Las diferencias entre ambos lenguajes no radican en las capacidades de extensibilidad en sí mismas, sino en sus enfoques de rendimiento. Java y C # son más uniformes en su sintaxis y más concisos, mientras que ciertos C ++ pueden ser difíciles de leer para los principiantes. C ++ tiene un enfoque extenso en el enlace de tipos en tiempo de compilación a través de plantillas, mientras que java y C # tradicionalmente se enfocan más en el enlace y la reflexión en tiempo de ejecución. Esta diferencia se ha suavizado en los últimos años, aunque para algunos nichos de dominio de aplicaciones (principalmente informática de alto rendimiento), las características agradables del lenguaje como la recolección de basura siguen siendo una gran barrera de entrada para Java y C #.

respondido 08 nov., 11:21

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.