OOP in Javascript
Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) — это парадигма программирования, которая использует абстракции, чтобы создавать модели, основанные на объектах реального мира. ООП использует несколько техник из ранее признанных парадигм, включая модульность, полиморфизм и инкапсуляция. На сегодняшний день многие популярные языки программирования (такие как Java, JavaScript, C#, C++, Python, PHP, Ruby и Objective-C) поддерживают ООП.
ООП представляет программное обеспечение как совокупность взаимодействующих объектов, а не набор функций или просто список команд (как в традиционном представлении). В ООП каждый объект может получать сообщения, обрабатывать данные и отправлять сообщения другим объектам. Каждый объект может быть представлен как маленькая независимая машина с отдельной ролью или ответственностью.
ООП способствует большей гибкости и поддерживаемости в программировании и широко распространена в крупномасштабном программном инжиниринге. Так как ООП настоятельно подчеркивает модульность, объектно-ориентированный код проще в разработке и проще для понимания впоследствии. Объектно-ориентированный код способствует более точному анализу, кодированию и пониманию сложных ситуаций и процедур, чем методы программирования с меньшей модульностью.
Прототипное программирование
Прототипное программирование — это модель ООП, которая не использует классы, а вместо этого сначала выполняет поведение класса и затем использует его повторно (эквивалент наследования в языках на базе классов), декорируя (или расширяя) существующие объекты прототипы. (Также называемое бесклассовое, прототипно-ориентированное, или экземплярно-ориентированное программирование.)
Оригинальный (и наиболее каноничный) пример прототипно-ориентированного языка это Self, разработанный Дэвидом Ангаром и Ренделлом Смитом. Однако бесклассовый стиль программирования стал набирать популярность позднее и был принят для данных языков программирования.
Объектно-ориентированное программирование в JavaScript
Пространство имён
Пространство имён — это контейнер, который позволяет разработчикам собрать функциональность под уникальным именем приложения. Пространство имен в JavaScript — это объект, содержащий методы, свойства и другие объекты.
Принцип работы пространства имен в JS прост: создать один глобальный объект и все переменные, методы и функции объявлять как свойства этого объекта. Также использование пространств имен снижает вероятность возникновения конфликтов имен в приложении, так как каждый объект приложения является свойством глобального объекта.
Во фрагменте кода выше мы сначала проверяем, определен ли объект MYAPP (в текущем файле или другом файле). Если да, то используем существующий глобальный объект MYAPP, иначе создаем пустой объект MYAPP, в котором мы инкапсулируем все методы, функции, переменные и объекты.
Также мы можем создать подпространство имён (учтите, что сначала нужно объявить глобальный объект):
Далее следует пример синтаксиса создания пространства имен и добавления переменных, функций и методов:
Last updated