Object Oriented Programming or OOP is a particular way of programming that leverage the concept of Classes and Objects and the following 4 paradigms
- 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:
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:
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.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 that can help you grasping the context surround OOP include the following: