Object-oriented programming is programming paradigm based on the concept of objects, which can contain data, in the form of fields, and code, in the form of procedures. Classes : Class is user defined blueprint, it represents set of properties or methods that are common to all objects of one type.