As fields are implicitly private, why there is often explicit declaraion used in the books, articles etc.?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
You have to remember that code can end up with someone else to reading it at some point, it might be you in 6 months and you need to understand the intent. Declaring something private means that you are not wanting that particular implementation detail to be available to all those who may use it(at this point in time), later revisions may change the way that particular thing works and if you wish to provide backward compatibility, if it's been public from the begining, it needs to remain in future revisions.
Because default access levels vary across languages, and many people program in more than one language. It's easy to become confused, either as the author or as someone reading the code later, thus explicit is nicer to deal with than implicit.
Sometimes explicit is better than implicit, and this is even more so when you are writing educational material. For people who do not know or cannot remember the rules for the default access levels it is one less thing for them to be concerned with when reading the code.
Related Question
Because you write code for maintainability and clarity, ESPECIALLY in code samples. Implicit declarations are there for the compiler, not for the programmer. Failing to explicitly declare the visibility and scope of your variables leaves your intent ambiguous. Is it really that much extra typing?
To make your code look nice :).
You're right it's not necessary, but it's custom to write them anyway. At the very least, every method has a privilege explicitly noted and it makes your code easier to read.
The problem with implicit declarations is that the reader cannot tell if whoever wrote the code wanted the implicit declaration or simply forgot to write anything. By being explicit there's no doubt about the intentions.