Each software object not only knows the properties of the real-world entity that it represents, but also knows how to model the behaviour of that entity. ... We call this principle 'behavioural completeness'. This does not mean that the object must implement every possible behaviour that could ever be needed. It means that all the behaviours associated with an object that are necessary to the application being developed should be properties of that object and not implemented somewhere else in the system
In , an example of a Wheel object in "a simulated truck suspension system" is given:
[Each] Wheel object knows not just the dimensions and mass of a wheel, but also how to turn, to bounce, to model friction, and to pass on forces to the Axle object.These behaviours may operate continuously, or they may be specifically invoked by sending a message to the object.