Artificial Intelligence Design Health Innovation Machine Learning Technology

An Introduction to Object Oriented Programming in Python

Pinterest LinkedIn Tumblr

Introduction

Programming languages are generally built on certain models or paradigms to ensure the code behaves predictably. As we have learnt so far, a paradigm is defined as the style of writing a program and it helps to reduce flow complexity and determine the flow of execution. Now there are several paradigms, we have declarative, procedural, OOP, functional, logic and so much more. Programs and programming languages can choose or make use of multiple paradigms because these paradigms are in a way mutually exclusive. Python is primarily object oriented but its also procedural and functional. In previous articles, we discussed about the procedural programming and functional programming and how they both work. In this article, we will discuss about the Object Oriented Programming(OOP) paradigm.

OOP is one of the most widely used programming paradigms today due to the growing popularity of the languages that use it ranging from Java, Python, C++ and more. The ability of Object Oriented Programming(OOP) to translate real world problems into code makes it a very good option for various programming languages. It also has high modularity, which makes code easier to understand, makes it reusable, adds layers of abstraction and allows for code blocks to be removed between projects. OOP has certain components that make up the paradigm. It also has several concepts that supports the paradigm. Let us now take a look at this components and concepts.

Components of Object Oriented Programming.

There are three key components of Object Oriented Programming. These are:

  • Classes: A class is a logical code of block that contains an attribute and a behaviour. The attributes can be variables and the behaviour can be the functions inside it. Instances can be created from this classes. The instances are what we refer to as objects. Simply put, a class creates a blue print for creating an object.
  • Objects: An object is an instance of a class and you can create any number of them. The attributes and behaviour of a class are what defines the state of an object.
  • Methods: Methods are functions defined inside a class that determines the behaviour of an object instance.
ALSO READ  Getting Started With Python

Concepts that support Object Oriented Programming

These concepts include inheritance, polymorphism, encapsulation and abstraction.

  • Inheritance: This is the creation of a new class by taking it from an existing one, The original class is called the parent or super class and the class derived from the super class is called the sub class or child class.
  • Polymorphism: Polymorphism is a word that means having many forms , meaning a single function can act differently depending on the objects or the classes.
  • Encapsulation: This means that Python can bind or combine methods and variables from direct access by wrapping them within a single unit of scope, such as class which helps prevent unwanted modification.
  • Abstraction: This refers to the ability to hide implementation details to make data safer and secure. Note though that Python does not support abstraction directly and uses inheritance to achieve it.

Conclusion

In conclusion, we now know what Object Oriented Programming is, its usefulness, its components and the various concepts that support it. As mentioned earlier, OOP is one of the most widely used paradigms for programming languages. Python for example mainly uses object oriented programming and then the procedural and functional programming. This makes OOP an important paradigm to us as Python developers and as such heightens the need to know and digest fully the concept of OOP(Object Oriented Programming).