This document discusses object-oriented data modeling concepts including objects, classes, inheritance, and persistent programming languages. It defines an object as having data variables, messages it responds to, and methods implementing those messages. Classes group objects and inheritance allows subclasses to inherit attributes and methods from parent classes. Persistent programming languages allow objects to be directly manipulated from a programming language and stored in a database without explicit data formatting changes or loading/storing.