Javascript - это многопарадигмальный язык. Это означает, что он поддерживает несколько способов (или структур) написания вашего кода javascript.

Javascript поддерживает два основных способа написания кода: императивная и декларативная парадигма программирования.

Императивный способ программирования связан с тем, как и где вы перечисляете каждый шаг программы. Объектно-ориентированное программирование (ООП) подпадает под императивную парадигму.

Декларативное программирование больше касается того, что и что выводит программа. Сюда входит функциональное программирование.

Если все это немного сбивает с толку, ознакомьтесь с этими статьями: они подробно рассказывают о парадигмах javascript. Https://medium.com/javascript-in-plain-english/what-are-javascript-programming-paradigms-3ef0f576dfdb
https://medium.com/@zach.gollwitzer/imperative-vs -декларативное-программирование-процедурное-функциональное-и-oop-b03a53ba745c

Однако в этой статье основное внимание уделяется ООП.

Что такое ООП?

Объектно-ориентированное программирование - это модель компьютерного программирования, которая организует разработку программного обеспечения на основе данных или объектов, а не функций и логики.

Есть четыре основных строительных блока ООП, они включают в себя:

  1. Классы
  2. Атрибуты
  3. Методы
  4. Объекты

Классы

Чтобы начать работу с ООП в Javascript, требуется класс. Класс подобен плану структуры ваших методов и атрибутов. Например, если я хочу создать виртуального человека. Я хочу, чтобы у этого человека было имя, пол, интересы и т. Д., И я хочу, чтобы этот человек мог представлять себя, здороваться и т. Д. И я также хочу написать эту программу, используя объектно-ориентированный метод. Сначала мне нужно создать для этого класс.

class Person {// здесь идет код}

Я назвал свой класс «классом», а затем назвал его «Человек», поскольку этот класс посвящен человеку. Обратите внимание, что имя класса начинается с заглавной буквы, а не только с строчной буквы для переменных. Затем я поставил фигурные скобки, чтобы показать, что это блок кода.

Атрибуты

Атрибуты просто означают качество или особенность, и в данном случае это будут атрибуты созданного мной класса людей.

class Person {
конструктор ({имя, возраст, пол, интересы}) {
this.name = name
this.gender = пол
this.interests = [… интересы]
}}

В моем личном классе я создал три атрибута этого человека: имя, возраст и интересы. Вы заметите, что я также добавил конструктор. Конструктор помогает создать новый экземпляр объекта. Не переживайте, если вы этого не поняли, скоро все станет ясно.

Методы

На этом этапе вы должны быть знакомы с объектами в javascript, которые в основном представляют собой функции , которые хранятся как свойства (действия) объекта и могут выполняться над объектами.
Пример встроенной функции включает: .toUpperCase () и т. д. Помните?

Отлично, поэтому мы можем написать метод для объекта класса. Вспомните из нашего определения ООП, что все данные видятся и записываются как объект, поэтому наш класс Person по сути является объектом.

class Person {
конструктор ({имя, возраст, пол, интересы}) {
this.name = name
this.gender = пол
this.interests = [… интересы]
}
Introduction () {
return `Привет, меня зовут $ {this.name}, я $ {this.gender}. Мои интересы $ {this.interests}. Приятно познакомиться `
}
}

Когда к этому человеку обращаются по методу «знакомство». Он вернет последний код.

Объекты

Что такое объекты в ООП?
Несмотря на то, что все в основном является объектом, новый объект может быть создан из этого объекта класса. Если бы мне нужно было несколько виртуальных людей, я бы использовал new keyword и создавал бы новые объекты из моего классного человека.

const person1 = new Person ({name: «Blossom», пол: «Male», интересы: [«спящий», «разгульный)»]})
const person2 = new Person ({name: «Ade », Пол:« Мужской », интересы: [« Чтение »,« Рисование »,« Кулинария »]})

Если вы следовали инструкциям, попробуйте вести журнал в консоли person1 и person2, вы должны получить что-то похожее на это:

Экземпляр класса Person был создан дважды для создания двух новых объектов person без необходимости переписывать код. Я мог бы создать столько людей, сколько захочу.

Кроме того, если вы вызовете метод, вы должны получить следующее:

Это означает, что вы получаете объекты, которые вы создали, чтобы делать что-то с помощью методов.

Это основы написания программ на ООП. Есть еще несколько концепций, с которыми вам нужно будет ознакомиться, прежде чем полностью освоить ООП, но я надеюсь, что эта статья упростила для вас ООП.

Это отличные ресурсы для продолжения:
https://www.educative.io/blog/object-oriated-programming
https://www.freecodecamp.org/news/object- ориентированное-программирование-концепции-21bb035f7260 /

Удачного кодирования.