• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » C++ » Oops » OOPL
Next →
← Prev

What is OOPL (Object oriented programming language)?

By Dinesh Thakur

(OOPL) A programming language specifically designed to support the writing of OBJECT-ORIENTED programs. Such languages typically support three features not found in traditional programming languages: CLASSES, ENCAPSULATION and INHERITANCE, though the actual constructs that embody these features may have different names in different languages. The first such OOPL to be invented was SIMULA, and the most widely used OOPL today is C++, which is a derivative of the C language with added object-oriented features. Other important OOPLs include JAVA, OBJECT PASCAL, EIFFEL, and the historically important SMALLTALK.

A class is a template that describes the structure and behaviour of any number of similar objects, which are bundles of related data values. A class definition is in two parts, a data part and a code part. The data part describes a collection of named slots called INSTANCE VARIABLES, copies of which will be contained in every INSTANCE (Le. object) of that class. At run time these will be filled with different values representing the properties of each individual object. Imagine a class as being like a cl1equebook; then creating a new instance means tearing out one cheque and filling it in.

The code part defines a collection of named subroutines called METHODS which have access to the instance variables and may manipulate their contents. ENCAPSULATION refers to the fact that, in a purely object-oriented language, the only way to access the data stored in each object is by executing one of these methods, as the data is otherwise entirely hidden from other objects in the program. When a program that uses several classes is run, it creates named INSTANCES of these classes, and it is these objects and the data that they contain that are manipulated by the program, not the classes themselves (just as you give the grocer a cheque, not your chequebook). Execution proceeds by objects calling each others’ methods, and data may be transferred between objects via the PARAMETERS passed in such calls.

INHERITANCE permits new classes to be derived from previously defined classes, and is a powerful conceptual tool for organizing related classes in a hierarchical fashion. Suppose that a class called ‘aircraft’ has been defined, with instance variables ‘wingspan’ and ‘number_of_engines’. A new SUBCLASS called ‘airliner’ that inherits from ‘aircraft’ would automatically have these instance variables (and all the methods too) without having to redefine them, but may add to them some more specific variable such as ‘number_of-passengers’ that does not apply to all aircraft. Inheritance proceeds by specializing, from the general to the particular.

In a pure object-oriented programming language, all data must be contained in objects, and programs consist solely of method calls, whereas a hybrid language permits object references and method calls to be mixed with conventional program code that may access the data inside objects directly, and may employ other data structures besides objects. JAVA and SMALLTALK are pure OOPLs whereas c++, OBJECT PASCAL and VISUAL BASIC are hybrids.

You’ll also like:

  1. Difference Between Procedure Oriented Language and Object Oriented Language
  2. What is OOP(object-oriented programming)?
  3. Object-Oriented programming in C#
  4. Why should you use object-oriented programming
  5. Object Oriented Programming in PHP
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

C++ Tutorials

C++ Tutorials

  • C++ - Data Types
  • C++ - Operators Types
  • C++ - CPP Program Structure
  • C++ - Conditional Statements
  • C++ - Loop
  • C++ - do-While Loop
  • C++ - Control Statements
  • C++ - Tokens
  • C++ - Jump Statements
  • C++ - Expressions
  • C++ - Constants
  • C++ - Character Set
  • C++ - Iteration Statements
  • C++ - I/O Statements
  • C++ - String
  • C++ - Manipulators

C++ Operator

  • C++ - Input/Output Operator
  • C++ - Operator Overloading

C++ Functions

  • C++ - Functions
  • C++ - Member Functions
  • C++ - Returning Object from Function
  • C++ - Call by Value Vs Reference
  • C++ - Friend Function
  • C++ - Virtual Function
  • C++ - Inline Function
  • C++ - Static Data Members
  • C++ - Static Member Functions

C++ Array & Pointer

  • C++ - Array
  • C++ - Array of Objects
  • C++ - Arrays as Class Members
  • C++ - Vector
  • C++ - Pointer
  • C++ - 'this' Pointer

C++ Classes & Objects

  • C++ - Class
  • C++ - Program Structure With Classes
  • C++ - OOP’s
  • C++ - Objects as Function Arguments
  • C++ - Procedure Vs OOL
  • C++ - Object Vs Class
  • C++ - Creating Objects
  • C++ - Constructors
  • C++ - Copy Constructor
  • C++ - Constructor Overloading
  • C++ - Destructor
  • C++ - Polymorphism
  • C++ - Virtual Base Class
  • C++ - Encapsulation

C++ Inheritance

  • C++ - Inheritance
  • C++ - Multiple Inheritance
  • C++ - Hybrid Inheritance
  • C++ - Abstraction
  • C++ - Overloading

C++ Exception Handling

  • C++ - Exception Handling
  • C++ - Templates
  • C++ - Standard Template Library

C++ Data Structure

  • C++ - Link List

C++ Programs

  • C++ Program for Electricity Bill
  • C++ Program for Multiply Matrices
  • C++ Program for Arithmetic Operators
  • C++ Program For Matrices
  • C++ Program for Constructor
  • C++ Program Verify Number
  • C++ Program Array Of Structure
  • C++ Program to find Average Marks
  • C++ Program Add And Subtract Matrices
  • C++ Program Menu Driven
  • C++ Program To Simple Interest
  • C++ Program To Find Average
  • C++ program exit()
  • C++ Program Using Array Of Objects
  • C++ Program Private Member Function
  • C++ Program To Reverse A String
  • C++ Program to Operator Overloading

Other Links

  • C++ - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2023. All Rights Reserved.