Object Oriented Programming or OOP organizes code around the concept of objects, encapsulating data and functions within cohesive units.

Object-Oriented Programming has permeated almost every facet of modern software development. Its principles and concepts are applied in diverse domains, from software architecture and frameworks to user interfaces, game development, real-time systems, and beyond. OOP’s ability to enhance code organization, reusability, and maintainability has solidified its role as a foundational approach in the creation of complex and reliable software systems.

OOP leverage the concept of Classes and Objects and the following 4 paradigms:

Object oriented Programming
Object Oriented Programming
  • Abstraction: a process where you show only “relevant” data and “hide” unnecessary details of an object from the user.
  • Encapsulation: a practice that bind the data with the code that manipulates it and keeps the data and the code safe from external interference
  • Inheritance: the mechanism by which an object acquires the some (or all) properties of another object.
  • Polymorphism: a way to process objects differently based on their data type. In other words objects can have the same name for a method but the implementation may differ.

If you are not familiar with these concepts I would recommend you to watch the following video that explains what is object oriented programming in a few minutes.

If you are familiar with Python and you want to see how these things work in practice I would recommend to follow the instructions in this video that explains how to create Python Classes using the Spyder IDE:

how to create Python Classes using the Spyder

In the case you do not know what is an Integrated Developing Environment (IDE) this article will give you the basic and explains why you need an IDE.

If you put attention to the way the author of the video is writing the code you would probably notice that is following a certain naming convention. Some of these conventions are imposed by the compiler and there is no work around that. Other are best practices that will improve the readability of your code. As the majority of the example that you can find in internet follow these conventions I would recommend you to get familiar with the basic as you will save a lot of time in the long run.

This video introduce the basic (and most popularly accepted) conventions in JAVA. Python follow something similar as well:

Notes on Naming Conventions

More resources on naming conventions include:

Clearly this is just the tip of the iceberg of Object Oriented Programming. If you want to know more you could follow this class of MIT OpenCourseWare that should set a more concrete foundation if you are not familiar with the concept at all.

Object Oriented Programming in Python
Get the basic of Object Oriented #programming and build better #Software . Practical examples in #Java and #python . #softwaredevelopment #SoftwareEngineer Share on X

A few more resources that can help you grasping the context surround OOP include the following:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.