Object-Oriented Programming (OOPs)

Object Oriented Programming Concepts are very important. Without having an idea about OOPS concepts, you will not be able to design systems in the object-oriented programming model. It simplifies software development and maintenance.

The core OOPs concepts

  • Object

  • Class

  • Abstraction

  • Encapsulation

  • Inheritance

  • Polymorphism

​List of object-oriented programming languages

Ada 95
Fortran 2003
PHP since v4, greatly enhanced in v5
BETA
Graphtalk
Python
C++ 
IDLscript 
Ruby
C# 
J#
Scala
COBOL 
Java 
Simula
Cobra 
LISP 
Smalltalk
ColdFusion 
Objective-C
Tcl
Common Lisp 
Perl since v5


Object

Objects have states and behaviors. Example: A dog has states - color, name, breed as well as behaviors – wagging the tail, barking, eating. An object is an instance of a class.

Class

A class can be defined as a template/blueprint that describes the behavior/state that the object of its type support.

Abstraction

Abstraction is one of the key concepts of object-oriented programming (OOP) languages.

Its main goal is to handle complexity by hiding unnecessary details from the user. This enables the user to implement more complex logic on top of the provided abstraction without

understanding about all the hidden complexity.

Encapsulation 

Encapsulation is the mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse.

Inheritance

Inheritance is the process by which one object acquires the properties of another object.

Polymorphism

Polymorphism (from Greek, meaning “many forms”) is a feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation.