Acquisition is simultaneously one of best and worst features of Zope 2. Consider that Zope manages a hierarchy of objects, each of which (except the Zope application root) has exactly one parent. In traditional object-oriented programming, a subclass can gain attributes and methods from its super-classes. Zope 2 acquisition wraps Python objects retrieved from the ZODB or being found during URL traversal in such a way that they can also acquire attributes from their parents in the hierarchy. For example, some code may read:
context may be the current content object, and
getDefault() could be a method on its containing folder, or another folder higher up. Closer attributes always take precedence. ...