Como los campos son implícitamente privados, ¿por qué a menudo se utiliza una declaración explícita en los libros, artículos, etc.?¿Por qué escribir explícitamente "privado"?
Respuesta
Porque los niveles de acceso predeterminados varían según los idiomas, y muchas personas programan en más de un idioma. Es fácil confundirse, ya sea como el autor o como alguien que lee el código más tarde, por lo tanto, es más explícito tratar con explícito que implícito.
+1 Excelente punto acerca de la variabilidad del lenguaje. –
No podría estar más en lo cierto, ¿cómo es que no está marcado como la respuesta?Debería ser – Proclyon
@Proclyon, quizás porque SO impone un retraso de 2 horas antes de aceptar una respuesta;) –
Para que su código se vea bien :).
Tiene razón, no es necesario, pero es costumbre escribirlos de todos modos. Por lo menos, cada método tiene un privilegio explícitamente anotado y hace que su código sea más fácil de leer.
La codificación es un arte más que una ciencia y el arte debe ser hermoso. :) – Samuel
A veces, explícito es mejor que implícito, y esto es aún más cuando estás escribiendo material educativo. Para las personas que no saben o no pueden recordar las reglas para los niveles de acceso predeterminados, les preocupa una cosa menos cuando leen el código.
pregunta relacionada
El acceso por defecto para todo en C# es "el acceso más restringido que podría declarar para ese miembro".
Porque escribe el código para facilidad de mantenimiento y claridad, ESPECIALMENTE en muestras de código. Las declaraciones implícitas están ahí para el compilador, no para el programador. Si no se declara explícitamente la visibilidad y el alcance de sus variables, su intención queda ambigua. ¿Es realmente mucho tipeo extra?
Tienes que recordar que el código puede terminar con otra persona para leerlo en algún momento, puede que seas tú en 6 meses y necesites entender la intención. Declarar algo privado significa que no desea que ese detalle de implementación particular esté disponible para todos aquellos que lo puedan usar (en este momento), las revisiones posteriores pueden cambiar la forma en que funciona en particular y si desea proporcionar compatibilidad con versiones anteriores, si ha sido público desde el principio, debe permanecer en futuras revisiones.
El problema con las declaraciones implícitas es que el lector no puede decir si quien escribió el código quería la declaración implícita o simplemente se olvidó de escribir algo. Al ser explícito, no hay dudas sobre las intenciones.
Totalmente de acuerdo con usted. Es lo mismo que la cardinalidad en el diagrama de la base de datos UML; sin especificarlo, no puede saber si es porque el autor quiere el valor predeterminado o si olvidó definirlo. – Samuel
En mi opinión, hace que el código sea mejor legible. No tengo que pensar en el modificador de acceso predeterminado. También se aplica por StyleCop, una herramienta que uso para asegurar un estilo de codificación consistente.
declaración explícita utilizado para dicho que la variable se establece deliberadamente privado y hay que declarar como privada
- 1. ¿Por qué debería rodear explícitamente con "desmarcado"?
- 2. ¿Por qué necesitamos un constructor privado?
- 3. ¿Por qué C no tiene paquete privado?
- 4. ¿Por qué no utilizar 'protegido' o 'privado' en PHP?
- 5. ¿Por qué es mejor administrar explícitamente matrices en OpenGL?
- 6. Por qué llamar explícitamente a un constructor en C++
- 7. ¿Por qué los métodos virtuales deben anularse explícitamente en C#?
- 8. ¿Por qué tengo que vincular explícitamente con libm?
- 9. ¿Qué hace el modificador "privado"?
- 10. ¿Por qué puedo llamar al constructor privado desde? Ámbito global?
- 11. ¿Por qué una enumeración tiene un constructor privado de paquetes?
- 12. ¿Por qué no es privado el constructor de String()?
- 13. ¿Por qué declarar privado el método getters y setters?
- 14. C# campo protegido a privado, agregar propiedad, ¿por qué?
- 15. Por qué se queja Visual C++ 6 en destructor privado
- 16. connection.setRequestProperty y escribir explícitamente en urloutputstream son ellos mismos?
- 17. ¿Por qué no puedo escribir IO.Directory.GetFiles?
- 18. ¿Qué significa "privado" en Groovy?
- 19. explícitamente determinar qué función pura de usar
- 20. Llamar explícitamente al constructor estático
- 21. explícitamente diga en qué idioma traducir
- 22. ¿Es privado un campo C# por defecto?
- 23. ¿Llamar a System.gc() explícitamente?
- 24. C++ ¿Es privado realmente privado?
- 25. ¿Por qué se puede cambiar la variable de miembro privado por instancia de clase?
- 26. ¿Por qué debo especificar explícitamente todas las columnas en una cláusula SQL "GROUP BY"? ¿Por qué no "GROUP BY *"?
- 27. ¿Qué es un "encabezado privado" en C?
- 28. Destructor privado
- 29. C# Propiedades automáticas: ¿Por qué tengo que escribir "get; set;"?
- 30. En Java, ¿por qué no puedo escribir i ++++ o (i ++) ++?
Véase también [¿Debe utilizar el modificador de acceso privado si es redundante?] (Https: // stackoverflow .com/questions/254912/should-you-use-the-private-access-modifier-if-its-redundant) –