Access levels
From CSSEMediaWiki
(Difference between revisions)
(New page: 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 clas...) |
m (→See Also) |
||
(2 intermediate revisions by one user not shown) | |||
Line 2: | Line 2: | ||
==Java== | ==Java== | ||
− | + | * <tt>private</tt> - Any code in this class | |
− | + | * package level - private + any other class in this package (This is the default access level) | |
− | + | * <tt>protected</tt> - package + any subclasses | |
− | + | * <tt>public</tt> - Open access | |
==C#== | ==C#== | ||
− | + | * <tt>private</tt> - Any code in this class (or struct) | |
− | + | * <tt>protected</tt> - private + any subclass | |
− | + | * <tt>internal</tt> - private + any other class (or struct) in this assembly | |
− | + | * <tt>protected internal</tt> - private + any subclass + any other class (or struct) in this assembly | |
− | + | * <tt>public</tt> - open access | |
==C++== | ==C++== | ||
− | + | * <tt>private</tt> - Any code in this class | |
− | + | * <tt>protected</tt> - private + any subclasses | |
− | + | * <tt>public</tt> - open access | |
C++ doesn't have a package level access equivalent, but it can give access to others using the 'friend' keyword. | C++ doesn't have a package level access equivalent, but it can give access to others using the 'friend' keyword. | ||
+ | |||
+ | == See Also == | ||
+ | * [[Encapsulation]] | ||
+ | * [[Encapsulation boundary]] |
Latest revision as of 23:32, 29 August 2009
This is a brief description of the different access levels available in commonly used languages and what encapsulation boundaries they provide.
Contents |
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.