Top.Mail.Ru
ypx
INTENSIVE
Попробуй себя в UX/UI-дизайне UX/UI-дизайн бесплатно
7 дней
5 проектов в портфолио
проверка дз
banner-circle
INTENSIVE
Попробуй себя во Frontend разработке Frontend бесплатно
7 дней
1 полноценный проект
проверка дз
banner-circle
Объектно-ориентированное программирование на JS
В статье вы познакомитесь с использованием ООП в процессе написания кода на JavaScript и узнаете, что из себя представляют объекты, свойства, классы, абстракция, инкапсуляция и наследование.
Веб-разработка
16749

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

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

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

Правильно спроектированные объекты обеспечивают простой интерфейс и скрывают ненужную сложность снаружи. Например, DVD-плеер имеет сложную логическую плату внутри и всего 3 или 4 кнопки снаружи. Когда вы нажимаете кнопку воспроизведения, то даже не задумываетесь, каким образом все микрочипы общаются друг с другом.


Зачем знать ООП?


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


ООП на JavaScript


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


Что такое объект?


Объект — это уникальная предмет, который содержит свойства и методы. Например, «автомобиль» — это объект реальной жизни, который имеет некоторые характеристики, такие как цвет, тип, модель, мощность, и выполняет определенные действия, такие как движение. В объектно-ориентированном программировании характеристики объекта называются свойством, а действия — методами.

Пример. Предположим, у вас есть три фигуры – квадрат, круг и прямоугольник. Вам необходимо написать код в стиле ООП, который вычислял бы площадь каждой из них.

Первое, что необходимо – создать объекты этих фигур. Эти объекты будут иметь свой собственный набор свойств, который включает значения данных и функции. Далее в объект инкапсулируются функция для расчета площади, длина, ширина и радиус объектов.

Классы


Классы в ООП используются как шаблоны для создания объектов. Объект — это «экземпляр класса», а «создание экземпляра» — это создание объекта на основе класса. Код определен в классе, но не может выполняться, если он не находится в живом объекте.

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

Абстракция


Это процесс создания простой модели более сложной сущности, которая представляет её наиболее важные аспекты таким образом, чтобы скрыть несущественные детали и показывает только то, что необходимо внешнему миру.

Отсутствие абстракции в коде может привести к проблемам с его отладкой.

Наследование


Наследование позволяет создавать новый класс, расширяя существующий дополнительными свойствами и функциями. Новый класс «наследует» все функции своего родителя и избегает создания нового кода с нуля. Более того, любые изменения, внесенные в родительский класс, будут автоматически доступны для дочернего класса, что значительно упрощает обновление.

Инкапсуляция


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

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


Объектно-ориентированное программирование – это­ сложная тема, особенно для новичков. Навык написания кода с использованием этой парадигмы поможет стать высококлассным разработчиком, экономить время, писать чистый и понятный код и эффективно использовать код повторно.
Понравилась статья? Сохраните её в своих соц. сетях!
обучайся с нами профессии
Frontend-разработчик
Подробнее о курсе
Читайте другие статьи
Стоит ли девушкам идти во Frontend-разработку?
Frontend-разработка и вообще IT — мужская стихия и девушкам там делать нечего. Тоже слышали этот расхожий стереотип? Объясняем, почему вся индустрия IT и Frontend-направление в частности только выиграют, если в них будет занято больше женщин.
Веб-разработка
702
Почему разработчику не стоит перерабатывать?
Вы недавно устроились на работу, взялись за новый проект и так захвачены им, что трудитесь даже по вечерам или в выходные? Или вы задерживаетесь, чтобы произвести впечатление на начальство? Узнайте, почему это плохая идея в обоих случаях.
Веб-разработка
1621
Онбординг сайтов и приложений: что это простыми словами
Как быстро познакомить пользователей с приложением или сайтом и рассказать, для чего они нужны и как ими правильно пользоваться? Использовать онбординг!
Веб-разработка
3594
Получайте первыми свежие статьи из нашего блога прямо на вашу почту
Введите корректный e-mail
Никакого спама. Только ценные и полезные статьи для вас!