jargon

Design patterns·Objects, messages and the principles

the class picks up three methods from somewhere that is not its parent, and finding where they came from takes a search.

Mixin

Also calledtrait, module include, mixin class

A bundle of behaviour designed to be mixed into a class rather than instantiated on its own, giving reuse across an inheritance tree without a common ancestor. It solves the problem that single inheritance only has one slot, and creates the problem that the set of methods on a class is no longer readable from its declaration. Languages disagree wildly on the details — traits, modules, protocol extensions — but the trade is the same everywhere.

Commonly confused with