Presentation of object model where the methods are applicable to the object according their actual features (like attribute values and their current availability) and not by their static class assignment.