He estado usando C++ y Java desde hace varios años. Una cosa que no puedo entender es por qué tenemos que dar un nombre a los constructores de una clase. Por ejemplo, si tengo que definir una clase FOO
en C++/Java, me veré obligado a proporcionar FOO
como el nombre del constructor. Sin embargo, dado que nunca se llama explícitamente al constructor, ¿cuál es el sentido del compilador que me obliga a darle un nombre después de todo?¿Cuál es el sentido de dar nombres a los constructores?
El paradigma de la abstracción dicta que ocultamos detalles innecesarios de los programadores. Esta es la razón, los constructores no tienen un tipo de devolución, ya que ya está bien definido lo que un constructor debe devolver. En el mismo espíritu, ¿por qué no podemos simplemente dar un nombre genérico a los constructores de todas las clases? Por ejemplo, cualquier cosa significativa, como initialize()
o tal vez nada y solo argumentos ([arg [,arg]])
Espero, soy capaz de expresarme . Si alguien tiene alguna respuesta definitiva, hágamelo saber.
Como nota al margen interesante, PHP tiene un nombre genérico para los constructores '__construct' – xbonez
Esta pregunta encaja mejor en [Programadores] (http://programmers.stackexchange.com/). –
+1 por pensamiento radical !! – WickeD