Access levels

From CSSEMediaWiki
Revision as of 23:32, 29 August 2009 by Matthew Harward (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

See Also

Personal tools