Type of programming that concerns the use of objects based on classes. Classes consist of methods and data structures and are available to all subclasses and objects based on the parent class. Objects and subclasses may have their own methods and data elements. (C++, Delphi, VB.Net, Visual C++, Java).