In an object-oriented system, all data is represented as discrete objects with which the user and other objects may interact. Each object contains data as well as information about the executable file needed to interpret that data. An object-oriented system allows the user to focus completely on tasks rather than tools. Examples of object-oriented programming languages include C++ and Smalltalk.