Introduction
So we're going to start with the most important topic in OOP, which is Classes
and Objects
.
What is a class?
A class is a blueprint for creating objects, it defines a set of attributes that will characterize any object of the class. The attributes are called fields
, and the functions are called methods
.
This is the academic definition, but let's see our own definition.
Imagine a class like a definition of type, for example a human
class defines the characteristics of human and his/her actions.
For example the human skin color is a characteristic
, and the human walks, talks, eats, sleeps, etc. are actions
.
So a class is a definition of a type, it defines the characteristics and the actions of the type.
In that sense we can say that a class is a blueprint
or schema
for things in life.
You can think of a class as a template
or a descriptive book about a entity, how it shapes and how it acts and interacts with other types.
What is an object?
We now know that classes are the definition of a type, so what is an object?
An object is the real thing of that blueprint, for example me and you are objects of the Human
class.
Your cat
at your home is an object of the Cat
class.
So an object is the real implementation or the actual object/item of a class.
Other terms for objects
You might read in an article, book or while watching a video the term object
, also it is called instance
of a class.
🎨 Conclusion
Classes are the blueprints
of things, they are used to create objects, and objects are the real things of that blueprint.
In our next article, we'll learn about the structure of a class.
☕♨️ Buy me a Coffee ♨️☕
If you enjoy my articles and see it useful to you, you may buy me a coffee, it will help me to keep going and keep creating more content.
😍 Join our community
Join our community on Discord to get help and support (Node Js 2023 Channel).
📚 Bonus Content 📚
You may have a look at these articles, it will definitely boost your knowledge and productivity.
General Topics
- Event Driven Architecture: A Practical Guide in Javascript
- Best Practices For Case Styles: Camel, Pascal, Snake, and Kebab Case In Node And Javascript
- After 6 years of practicing MongoDB, Here are my thoughts on MongoDB vs MySQL
Packages & Libraries
- Collections: Your ultimate Javascript Arrays Manager
- Supportive Is: an elegant utility to check types of values in JavaScript
- Localization: An agnostic i18n package to manage localization in your project
React Js Packages
Courses (Articles)
Top comments (1)
If you keep treating JS like an OOP language and thinking, for example, that a class is a blueprint, you are gonna end up with errors in your code.
In a JS a class is more than a blueprint because if you change it, you change every objects created with it