Краткое описание объектно-ориентированного программирования (ООП) в 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

Tags: JavaScript

Recent Posts

Признаки качественного хостинга: выбираем с умом

Хостингом называется специальное пространство, предназначенное для хранения файлов веб-сайта. Клиентам доступны разные типы размещения и… Read More

30/09/2020

Как выучить немецкий язык легко и весело? С помощью Beste Freunde!

Немецкий часто считается сложным языком. Да, немецкая лексика имеет «тяжелый» характер. Да, есть действительно очень… Read More

27/09/2020

Отопление и горячая вода – когда нужно, а не когда соизволят включить

Тепло в доме и горячая вода в любое время для многих жителей многоквартирных и частных… Read More

19/09/2020

Инструкция по скачиванию видео с сервиса TikTok (бесплатно и без watermark)

Если вы еще не слышали о TikTok, тогда рекомендуем вам сначала ознакомиться с этим кратким… Read More

17/09/2020

Что есть в бюджетном ноутбуке – на какие характеристики рассчитывать?

Прошли те времена, когда приличный ноутбук стоил от 1000 долларов. Сегодня можно купить довольно неплохой… Read More

16/09/2020

Что лучше – цифровое телевидение Т2 или интернет-телевидение?

Современную жизнь невозможно представить без телевидения. Оно позволяет узнавать о событиях в Украине и мире,… Read More

02/09/2020