Its literal meaning is perseverance. It is the property of an object through which its existence continues even after its creator ceases to exist and location moves from the address apace in which it was created. Generally an object in software takes up some amount of space and exists for a particular amount of time. There may be the phases of object existence, ranging from transitory objects that arise within the evaluation of an expression, to the objects in a database that outlive the execution of a single program. This spectrum of object persistence includes the following:
  • Transient results in expression evaluation
  • Local variables in procedure activations
  • Data that exists between execution of program
  • Data that exists between various versions of a program
  • Data that outlives the program
A very few object oriented programming languages provide direct support for persistence. In c++ it is not supported. However the user can build it explicitly using file streams in a program. All data base systems support persistence.