Tccicomputercoaching.com-Object Oriented Programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A distinguishing feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated. OOP is a programming language model organized around objects rather than "actions" and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data. Before starting object oriented programming language, you should understand basic concepts of oopl, which are following: Object: an entity that consists of both data and procedures to manipulate the data. Class: a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behaviour (member functions or methods). Abstraction: The process of picking out (abstracting) common features of objects and procedures. Encapsulation: The process of combining elements to create a new entity. A procedure is a type of encapsulation because it combines a series of computer instructions. Data hiding: The process of hiding details of an object or function. Information hiding is a powerful programming technique because it reduces complexity and provide security. Inheritance: a mechanism to reuse code in new program from old program. Polymorphism: More than one form of function. Messaging: Message passing is a form of communication used in parallel programming and object-oriented programming. Advantages of Object Oriented Programming All of these basic concepts are beneficial to increase space and time efficiency. OOPL - Object Oriented Programming Languages An object-oriented programming language (OOPL) is a high-level programming language based on the object-oriented model. Examples of object-oriented programming languages include Java,C++ and Smalltalk.