February 2006
Intermediate to advanced
648 pages
14h 53m
English
By default, all attributes are “public.”This means that all attributes of a class instance are accessible without any restrictions. It also implies that everything defined in a base class is inherited and accessible within a derived class. This behavior is often undesirable in object-oriented applications because it exposes the internal implementation of an object and can lead to namespace conflicts between objects defined in a derived class and those defined in a base class.
To fix this problem, all names in a class that start with a double underscore, such as __Foo, are automatically mangled to form a new name of the form _Classname__Foo. This effectively provides a way for a class to have private attributes, because private ...