What is Object-Oriented Programming?

what is object oriented programming?

What Is Object-Oriented Programming?

Object-oriented programming is a way of thinking about problems. By thinking about objects, you can solve problems more efficiently than with other paradigms.

For example, when you think about the problem of writing a program that calculates your taxes on your income, you might be tempted to write code like this:


def calculate_taxes(income):

return income * 0.25 + 1


Object-Oriented Programming (OOP) example

There are two ways to solve the same problem. One is with a non-object-oriented approach, and one is with an object-oriented approach. Let’s see how they differ.

The non-OOP solution uses variables such as index, array, and itemCount to store values or references to the data needed for the problem statement. The variable index stores an integer value representing where in our list of numbers we’re currently looking at (i.e., 1 means “first number,” 2 means “second number,” etc.). The variable array stores every number from our list of numbers as separate lines in its string: “[1,2]”. Finally, there’s another variable called itemCount which tells us how many items there are in total (i.e., if it holds 5 then we know that our list has 5 items).

Now let’s take a look at how an Object-Oriented programmer would tackle this problem! As you can see below they’ve broken things down into steps where each step describes what needs doing without having any knowledge about what goes on before or after it within their program code itself–they’re making use of objects here instead which makes life easier when things go wrong later down the line because we know exactly where everything is stored!

Objects, Objects Everywhere!

You can think of objects in a computer program as being like real-life things. For example, an object representing a person may have attributes (e.g., name and age) and actions (e.g., walking and running).

You can also think of objects as being like boxes containing other boxes. The box that contains other boxes is called the parent or superclass of those children or subclass boxes. The child or subclass box can store items inside itself but it cannot directly access any items from its parent or superclass box unless you permit it to do so using functions such as “change name” and “set”.

Classes and Objects


A class is a blueprint for making objects. It describes the data and behavior of objects, including their relationship to one another. For example, you could have a “human” class with properties like age and height; and methods like eating () or sleep().

Classes allow you to define the properties that are common to many different types of objects (such as humans), while still allowing variability across those types (for instance, some human beings are taller than others). This allows you to create multiple instances of an object without having to repeat code or write identical functions over again for each one!


Encapsulation is a technique that is used to restrict access to methods and variables to other classes. It is used to hide the internal details of a class and make it easier to change one part of a program without affecting other parts.

Encapsulation can reduce complexity by breaking down complex code into smaller pieces that are easier for humans to understand.


The first thing you need to know about inheritance is that it’s all about reuse. The second thing you should know is that it’s all about relationships between classes.

Inheritance allows you to create a subclass, which inherits from a superclass. The superclass is the class that your subclass derives from (the word “inherits” comes from the Latin word for “to take possession of something”). It has all the same properties as its parent class, but often additional functionality. In addition to having all the properties of its parent class, a subclass may also have some extra ones—it might add or change definitions for existing methods and instance variables, for example.


  • Polymorphism is the ability to use the same code with different types of data and get different results.
  • How polymorphism works in OOP languages:
  • The same method can be applied to multiple classes, so long as they have a common parent class. This way, you can write generic code that will work across multiple classes without having to rewrite it.
  • An example: For example, say you want your spaceship game (a space game) to be able to detect collisions between two objects. You could write a method called collide(), which would take two GameObjects as parameters, but you may notice that this doesn’t make sense for all GameObjects—if you were using an Asteroid class in your game instead of a Ship class, there wouldn’t be anything for colliding ()to do because Asteroids don’t move around or interact with each other much!

OOP is a common way of thinking about computer programming.

Object-oriented programming (OOP) is a common way of thinking about computer programming. It’s used in many different programming languages, so you might have already heard the term before.

Trying to understand OOP can be very confusing at first and even frustrating if you’re not sure what exactly it means. However, kids must learn how to use this type of logic when they’re learning how to program because it makes it easier for them to reuse code and track errors down when something goes wrong with a program.