Access levels
From CSSEMediaWiki
Revision as of 23:31, 29 August 2009 by Matthew Harward (Talk | contribs)
This is a brief description of the different access levels available in commonly used languages and what encapsulation boundaries they provide.
Java
- private - Any code in this class
- package level - private + any other class in this package (This is the default access level)
- protected - package + any subclasses
- public - Open access
C#
- private - Any code in this class (or struct)
- protected - private + any subclass
- internal - private + any other class (or struct) in this assembly
- protected internal - private + any subclass + any other class (or struct) in this assembly
- public - open access
C++
- private - Any code in this class
- protected - private + any subclasses
- public - open access
C++ doesn't have a package level access equivalent, but it can give access to others using the 'friend' keyword.