Magazine

Object Oriented Programming: A Curated Set of Resources

Posted on the 02 August 2019 by Francesco Lelli @francescolelli

Object Oriented Programming or OOP is a particular way of programming that leverage the concept of Classes and Objects and the following 4 paradigms

Object Oriented Programming: A curated set of resources

Object Oriented Programming

" data-orig-size="557,429" sizes="(max-width: 279px) 100vw, 279px" aperture="aperture" />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

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

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
Click To Tweet


A few more resources:


Back to Featured Articles on Logo Paperblog