This is an extension of modular programming that uses new programming language features to more robustly define modules and their interactions.
Definitions object A collection of data items plus functions that access that data.
User-defined classes will have all the power of any predefined classes. The process of creating an object based on a class description. Arguments may be supplied to initialize the object's data items. A class may be instantiated any number of times. Each object has its own set of data items, but shares its functions with all other objects of the same class.