Object-oriented applications are pieces of software for which developers do not simply preset the type of data included in their data structures, but also which sorts of computations (operational functions) one may apply to both the data themselves and the computational processes. Moreover, developers are able to design specific relationships between objects within the data structures, which, in turn, means that objects may inherit traits of other objects, for instance.
Object-oriented applications provide one very significant advantage if compared to standard, procedural-based applications: it enables developers to design modules that need not be modified when new types of objects are introduced. Instead, they may simply design a new object that captures many of the traits of the objects already in place. As such, object-oriented applications prove significantly more flexible and, thus, easier to modify.