Краткое описание объектно-ориентированного программирования (ООП) в JavaScript

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

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

 

 

Что такое объектно-ориентированное программирование в JavaScript

Объектно-ориентированное программирование – это две составляющие: создание отдельных объектов из общего объекта и наследование. В сегодняшней статье мы рассмотрим только первую составляющую, а наследование мы рассмотрим в последующих статьях.

 

Создание отдельных объектов из общего объекта

Объекты в JavaScript имеют свойства и методы. Эти объекты можно соотнести с реальными вещами (и даже людьми!). Допустим, вам нужно создать объект для описания человека с помощью JavaScript. У человека есть имя, фамилия и возраст. Вы можете добавить эти атрибуты как свойства в JavaScript. Для того, чтобы человек представлялся, можно использовать функцию, с помощью которой он будет называть свое имя. И эта функция будет методом в объекте.

Ниже небольшой пример этого:

<script>
const chelovek = {
 firstName: 'Ivan',
 lastName: 'Ivanov',
 age: 35,
 sayName() {
  console.log(chelovek.firstName + ' ' + chelovek.lastName);
 }
}
chelovek.sayName(); // Ivan Ivanov
</script>

 

 

Поскольку люди очень похожи друг на друга, вы также можете создать другой объект chelovek с такими же свойствами (firstName, lastName, age) и методами (скажем, sayName).

Для других объектов вам нужно будет использовать другое название, поскольку переменная chelovek уже занята. И, скорее всего, именовать переменные человеческими именами было бы более разумным. Т.е., вместо chelovek и chelovek2, имеет смысл называть их, например, ivanov и petrov.

 

А что, если вам нужно создать объект еще для одного человека? Вам придется копировать весь этот объект и заменять некоторые значения, но это же утомительно, верно? Приходится копировать столько кода!

Люди немного отличаются друг от друга – у нас разные имена, и мы разного возраста. Но у нас есть общая черта – мы можем назвать свое имя. Для этого мы можем создать функцию, которая будет отвечать за это. И для этого будем использовать ключевое слово this, которое будет принимать свои значения для каждого нового объекта.

Вот как это может выглядеть:

<script>
function Chelovek(firstName, lastName, age) {
 this.firstName = firstName;
 this.lastName = lastName;
 this.age = age;
 this.sayName = function() {
  console.log(firstName + ' ' + lastName + ' ' + age);
 }
}
// создаем новый экземпляр 'человека' с помощью ключевого слова 'new'
const ivanov = new Chelovek('Ivan', 'Ivanov', 35);
ivanov.sayName(); // Ivan Ivanov 35
</script>

 

 

Неплохо, не правда ли?

В этом и заключается суть объектно-конструкторская часть объектно-ориентированного программирования – вы создаете функцию или метод (Chelovek), которая может создавать экземпляры (такие как ivanov и petrov). Каждый создаваемый экземпляр будет иметь возможность содержать отдельные данные, которые отличаются от других экземпляров.

Функция (метод), которую вы используете для создания экземпляров, называется конструктором.

 

 

Именование конструкторов и экземпляров

В объектно-ориентированном программировании первая буква конструктора пишется с заглавной буквы (Chelovek), а каждый экземпляр записывается как обычная переменная (ivanov, petrov).

Эта небольшая разница сразу показывает разницу между конструкторами и экземплярами в вашем коде.

 

 

Что такое this?

this – это ключевое слово в JavaScript. Когда оно используется в конструкторе, оно ссылается на экземпляр, созданный с помощью конструктора. Т.е., ключевое слово this в конструкторе указывает на его экземпляр.

 

 

 

Краткий итог

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

Когда вы создаете конструктор, вы должны использовать первую заглавную букву его названия (например, Chelovek), чтобы отличать его от экземпляров (например, ivanov).

 

Читать далее: Ознакомление с классами в JavaScript

 

Recent Posts

Разница между Изображением обложки и Избранным изображением в WordPress

Визуальная привлекательность является ключевой особенностью любого сайта на ВордПрессе. Посетители чаще будут открывать ссылки, украшенные…

1 день ago

15 классических вопросов на собеседовании, к которым следует быть готовым программисту

Любые собеседования всегда волнуют, и даже могут вызвать определенную степень нервозности. Однако, если вы будете…

3 дня ago

Артур Шопенгауэр

Изменить я этого не могу, остается извлекать из этого пользу Артур Шопенгауэр  

4 дня ago

Эрнест Хемингуэй

Если вас что-то ранит, значит, вам не все равно Эрнест Хемингуэй  

1 неделя ago

Как создать собственный URL-адрес для входа в WordPress

По умолчанию после каждой установки WordPress есть три основных URL-адреса для входа в админку: {домен}/wp-admin.php,…

2 недели ago

Как отслеживать производительность фрилансера без сложного софта

Производительность – это валюта фрилансера. Когда ты работаешь сам на себя, никто не спросит: "Сколько…

2 недели ago